MSVC2012 Qt应该包含一个目录?

时间:2012-12-25 12:45:17

标签: c++ qt include

我使用BlueGo为msvc2012构建了一个自定义Qt5。

我正在阅读这些例子,他们证明了这一点:

#include <QtGui>

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
     QWidget window;
     window.resize(320, 240);
     window.show();
     window.setWindowTitle(
         QApplication::translate("toplevel", "Top-level widget"));
     return app.exec();
 }

问题是,QtGui对我来说实际上是一个目录而不是文件所以它不能被包含在内。我正在使用/ qtbase / include /下的include文件。我做错了吗?

2 个答案:

答案 0 :(得分:1)

QtGui标头实际存在,只包含QtGui模块中的所有标头。您可以在QtGui目录中找到 。编译器能够找到它,因为在包含路径中指定了QtGui目录。换句话说,它与:

相同
#include <QtGui/QtGui>

虽然包含QtGui标题是一种可怕的做法。您应该只包括您实际使用的内容,否则编译时间将无缘无故地增加。但是,对于快速测试等,它非常方便。

答案 1 :(得分:0)

我知道现在有点晚了,但是您可以这样做:

在专业版文件中添加gui模块和widgets

QT += widgets core  gui

然后通过替换包含文件

替换

#include <QtGui/QWidget>
#include <QtGui/QApplication>

使用

#include <QWidget>
#include <QApplication>

编译器应该识别它。