c++ - 不能包含
问题描述
我正在尝试在 Visual Studio 15 2017 中链接 Qt5。
我在Property Pages中添加了其他 (1)包含目录、(2)库目录和 (3)依赖项的路径和文件引用。
我可以通过像这样引用它们的路径来包含头文件
#include <QtWidgets/qpushbutton.h>
但是,我正在尝试构建的github 项目使用这条线
#include <QtWidgets>
Visual Studio 在这些行上显示错误
E1696 cannot open source file "QtWidgets"
在 Visual Studio 中使用Qt VS 工具.pro
从文件创建解决方案时,我可以包含. 但是如何将它包含在我现有的项目中,该项目不是从文件创建的。<QtWidgets>
.pro
解决方案在MyProjectName文件夹中
放置一个MyProjectName.pro文件(带有QT += core gui widgets
)并使用Qt VS Tools > Open Qt Project File (.pro)打开它可以解决此问题。我现在可以包括. 但这似乎不是正确的方法,考虑到 VS gui。<QtWidgets>
解决方案
“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 版本进行调整。
推荐阅读
- r - R读取excel(xlsx)文件日期,时间格式问题
- swiftui - 动态更改 Picker 的内容
- java - 你知道我的 spring 安全配置有什么问题吗?
- angular - 在 'root'、'platform'、'any' wrt providedIn 中,在 Angular 的哪种情况下应该首选哪一个?
- amazon-web-services - AWS ALB - 您必须从至少两个可用区中指定子网
- c - 获取处理器的内存粒度
- python - ModuleNotFoundError:作为 linux 服务运行时没有名为“cec”的模块
- flutter - 当 onPressed 为 bottomNavigationBar 时如何设置材质按钮的状态
- python - 为什么我的请求无法响应我的输入数据?
- c# - 为什么即使在使用 await 之后控制台也会退出?