不能包含<QtWidgets>

时间:2019-08-07 12:49:24

标签: c++ visual-studio qt include

我正在尝试在Visual Studio 15 2017中链接Qt5。

我为其他(1) include目录,(2)库目录和(3)依赖项添加了路径和文件引用在属性页中。

我可以这样引用头文件路径来包含头文件

#include <QtWidgets/qpushbutton.h>

但是,我要构建的github project使用了这一行

#include <QtWidgets>

Visual Studio在这些行上向我显示错误

E1696   cannot open source file "QtWidgets" 

使用Visual Studio中的 Qt VS工具.pro文件创建解决方案时,我可以包含<QtWidgets>。但是如何将其包含在尚未从.pro文件创建的现有项目中。


解决方案 MyProjectName.pro 文件(带有QT += core gui widgets)放置在 MyProjectName 文件夹中,并使用 Qt VS Tools>打开Qt项目文件(.pro )解决了这个问题。我现在可以包含<QtWidgets>。但是,鉴于VS gui,这似乎不是正确的方法。

1 个答案:

答案 0 :(得分:1)

“ QtWidgets”包含文件是“ QtWidgets”目录中的文件。您的包含路径可能具有“ $(QTDIR)/ include”之类的内容,但没有“ $(QTDIR)/ include / QtWidgets”之类的内容。这就是为什么您的带有“ QtWidgets / qpushbutton.h”的示例起作用,而不仅仅是“ QtWidgets”起作用的原因。

也许可以帮助查看您要包含的文件的完整路径(使用Qt 5.5.1安装):

C:\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtWidgets\QtWidgets

因此,如果您的包含路径中包含此内容:

C:\Qt\Qt5.5.1\5.5\msvc2013_64\include

那只会把你带到QtWidgets目录,而不是QtWidgets文件。

您还需要在包含路径中使用它:

C:\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtWidgets

显然,请针对已安装的驱动器,Qt版本和MSVC版本进行调整。