【问题标题】:Cannot open include file: 'QtWidgets/qtwidgetsglobal.h' on vs2017无法打开包含文件:vs2017 上的“QtWidgets/qtwidgetsglobal.h”
【发布时间】:2018-10-16 08:52:12
【问题描述】:

[已解决]

其他包含目录应该是:

C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\include,

不是C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\include\QtWidgets

因为 qapplication.h 中的语句是"#include <QtWidgets/qtwidgetsglobal.h>"


当我在win10上的VS2017(x86)上运行这个时,我得到了以下错误:

#include <QApplication>
int main(int argc, char *argv[]) {
  QApplication a(argc, argv);
  return 0;
}

fatal error C1083: Cannot open include file: 'QtWidgets/qtwidgetsglobal.h'

qtwidgetsglobal.h文件就在目录下,但是不知道为什么VS打不开。

编译器好像可以打开QApplication(和qapplication.h一样吗?),但是不能打开QApplication中的第一个#include文件'qtwidgetsglobal.h'...为什么?

我在项目设置中设置了额外的 include 和 lib 目录

其他包含目录:

C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\include\QtWidgets

其他库目录:

C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\lib

我还安装了 Qt VS Tools 并添加了 qt 版本 qt vs tools options

我也试过'winrt_x86_msvc2017'directory,也遇到了同样的错误。我找不到'msvc2017' 目录,只有'msvc2017_64'

任何想法将不胜感激

【问题讨论】:

  • 如果您在 x86 中运行,为什么要在 x64 文件夹中搜索?
  • @Kianii x86我也试过了,还是一样,winrt_x86_msvc2017是vs2017(x86)的文件夹吗?我不知道msvc2017_64winrt_x64_msvc2017有什么区别...只有winrt_x86_msvc2017文件夹,没有msvc 2017
  • 这与您的问题无关:这不是架构不匹配错误(至少现在还没有)。我非常不擅长“调试”那些盲目的错误......对于winRT,只需在谷歌上进行一些搜索,你就会看到但是你是否尝试包含完整路径并查看VS是否找到它?如果不是,则可能是路径错误/.h 根本不存在。
  • 我看到 msvc2017 for x86 架构不再可用,他们建议使用 msvc2015。
  • 不要将解决方案添加到您的问题中。而是发布答案。

标签: c++ qt visual-studio-2017 qt5


【解决方案1】:

额外的包含目录应该是:

C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\include,

不是C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\include\QtWidgets

因为qapplication.h 中的语句是#include &lt;QtWidgets/qtwidgetsglobal.h&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2016-06-17
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多