【问题标题】:Qt Creator C1083: Cannot open include file: 'cstddef': No such file or directoryQt Creator C1083:无法打开包含文件:'cstddef':没有这样的文件或目录
【发布时间】:2016-11-03 04:57:58
【问题描述】:

我尝试在 Windows 10 上的 Qt Creator (Qt5.7.0) 中构建一个程序,但我得到了

D:\Qt\Qt5.7.0\5.7\msvc2015_64\include\QtCore\qglobal.h:45:错误:C1083:无法打开包含文件:'cstddef':没有这样的文件或目录

错误信息。我发现这可能是由于缺少 Windows SDK 造成的,但我安装了它,运行 vcvarsall.bat 并没有发生任何事情。我尝试使用“MinGW 5.3.0 32 位”编译器和“GNU gdb 7.10.1 for MinGW 5.3.0 32 位”调试器(使用“Microsoft Visual C++ 编译器”也不起作用)。有什么想法吗?

【问题讨论】:

  • 运行 vcvarsall.bat 并没有发生任何事情。 此创建的环境仅适用于您在其中运行 vcvarsall.batcmd.exe 实例. 这意味着这无法修复 QtCreator,除非您从运行 vcvarsall.bat 的同一 cmd.exe 控制台运行它。

标签: c++ windows qt


【解决方案1】:

首先,当您在 Qt Creator 下编译项目时,您使用的是特定工具包,与特定安装的 Qt 版本相关联。确保该套件的配置和 Qt Creator 中的 Qt 版本选择了正确的编译器。 C++ 代码在编译器之间通常不是二进制兼容的,因此如果您为 MSVC2012 安装了 Qt 版本,它只能与该编译器一起使用,而不能与其他编译器一起使用。如果您不是自己构建 Qt,那么您安装的 Qt 版本必须与您正在使用的编译器匹配。混合 MSVC 版本或将 MSVC 构建的 Qt 与 mingw gcc 一起使用是行不通的。

您可以同时安装多个 Qt,每个安装都可以使用不同的 Qt 版本和/或编译器。您需要让 Qt Creator 了解它们,方法是将它们添加到 Qt 版本控制面板,然后设置使用这些 Qt 版本的工具包。

自己运行vcvars 没有意义,因为它只为命令处理器的特定实例设置环境变量。它对 Qt Creator 没有影响。 Qt Creator 的构建系统会自动调用vcvars 来设置执行构建的环境。

【讨论】:

    【解决方案2】:

    在我的情况下,删除“c:\Users\user\AppData\Roaming\QtProject”文件夹的内容再次解决了这个错误:

    Qt Creator 4.0.1 (Qt 5.6.2 MSVC2015 32bit) stopped accepting toolchains/compilers

    更新:我建议的解决方案仅在某个时候有效,其他解决方案正在重新启动计算机,但现在都不起作用。接受的答案对我不起作用。

    【讨论】:

      【解决方案3】:

      当我的系统路径变量中有 MSVC 2012 的“bin”目录时,我在尝试使用另一个版本的 MSVC 时遇到了完全相同的错误。从“路径”中删除目录修复了它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-02
        • 2010-10-27
        • 1970-01-01
        • 1970-01-01
        • 2017-02-12
        • 2017-05-04
        • 1970-01-01
        相关资源
        最近更新 更多