C++ 不能包含

C++ 不能包含,c++,visual-studio,qt,include,C++,Visual Studio,Qt,Include,我正在尝试链接Visual Studio 15 2017中的Qt5 我在属性页中添加了1个include目录、2个库目录和3个依赖项的路径和文件引用 我可以像这样引用头文件的路径来包含头文件 #include <QtWidgets/qpushbutton.h> 当使用VisualStudio中的Qt VS工具从.pro文件创建解决方案时,我可以包括。但是,我如何将它包含在我现有的项目中,该项目不是从.pro文件创建的 解决方案 将带有QT+=核心gui小部件的MyProjectNa

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

我在属性页中添加了1个include目录、2个库目录和3个依赖项的路径和文件引用

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

#include <QtWidgets/qpushbutton.h>
当使用VisualStudio中的Qt VS工具从.pro文件创建解决方案时,我可以包括。但是,我如何将它包含在我现有的项目中,该项目不是从.pro文件创建的

解决方案
将带有QT+=核心gui小部件的MyProjectName.pro文件放在MyProjectName文件夹中,并使用QT VS Tools>openqt Project file.pro打开它,可以解决此问题。我现在可以包括。但是考虑到VS gui,这似乎不是正确的方法。

QtWidgets包含文件是QtWidgets目录中的一个文件。您的include路径可能类似于$QTDIR/include,但不是$QTDIR/include/qtwidget。这就是为什么使用qtwidts/qpushbutton.h的示例可以工作,但不仅仅是qtwidts本身

使用我的Qt 5.5.1安装查看您试图包含的文件的完整路径可能会有所帮助:

C:\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtWidgets\QtWidgets
因此,如果您的include路径中有以下内容:

C:\Qt\Qt5.5.1\5.5\msvc2013_64\include
C:\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtWidgets
这只会让您访问QtWidgets目录,而不会访问QtWidgets文件

在include路径中还需要此选项:

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

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

您链接的教程适用于Qt 4。对于Qt5,您需要添加。注意,include、single、not-qtwidts,而不是qtwidts。include是正确的。只是想确认一下,但之前已经多次将其用于示例代码。如果Qt窗口小部件在两种情况下都正确启用,那么它在Qt 5中适用于带CMake项目的VS,也适用于Qt项目文件。@S.M.不,include可以。有一个“s”,因为它包含了整个widgets模块。为什么您认为您的解决方案不正确?Qt项目文件是提供某种可移植构建脚本的Qt-ish方式。在Linux上,qmake工具从中生成一个Makefile,可用于使用make构建可执行文件。使用Qt和工具,我没有任何经验。我猜他们提供了一个类似的工具来准备Qt项目的VS项目文件。构建脚本的一个主题是设置适当的include和library路径。添加$QTDIR/include/qtwidget似乎是解决方案。谢谢。