当我在Qt Creator中创建一个新的移动应用程序时,我注意到在自动生成的代码中,他们使用#include <QtCore/QCoreApplication>而不是#include <QCoreApplication>,尽管两者应该是一样的。
由于Qt Creator本身就是这样做的,所以我认为这是推荐的约定。但是为什么会这样呢?有人能解释一下使用#include <QtCore/QCoreApplication>而不是#include <QCoreApplication>的意义吗
发布于 2012-08-11 16:05:51
使用这种约定有多个原因:
我在/usr/include/中有两个目录
的
它们都有QCoreApplication在里面。
发布于 2012-08-11 16:17:34
对于从表单生成的代码,您可以在"Designer“选项卡选项中进行更改:"Use Qt module name in #include-directive”。
在指定模块时,我注意到一个很小但有时很烦人的问题。默认情况下,qmake会将/path/to/qt/sdk/include添加到包含路径中。例如,这意味着您可以执行以下操作
#include <QtGui/QWidget>即使在您的项目文件中有
QT -= gui然后编译进行得很好,但是链接器会对你发火,因为不会选择QtGui4库进行链接。
如果你这样做了
#include <QWidget>相反,编译将失败。
https://stackoverflow.com/questions/11913002
复制相似问题