【问题标题】:QT COMPILER_MACROS not defined on project start项目启动时未定义 QT COMPILER_MACROS
【发布时间】:2020-07-25 00:08:02
【问题描述】:

我在使用 QT(版本 5.12.1)时遇到了一个烦人的问题,我怀疑这是因为我的机器上还有几个不同版本的 Visual Studio 也处于活动状态。请注意,我使用的是 Windows 10 并使用 QT creator。问题如下:

当我创建一个新的空控制台项目时,我在 IDE 中收到以下一般消息:

运行 Windows 运行时设备检测。没有找到 winrtrunner.exe。 C:/Qt/Qt5.12.1/5.12.1/mingw73_64/mkspecs/features/toolchain.prf(76): 未定义变量 QMAKE_CXX.COMPILER_MACROS。项目错误: 无法从编译器输出中解析默认搜索路径错误 while 解析文件 C:\Qt\Test\Proj\Proj.pro。放弃。

在制作控制台项目时,QT 会默认添加 main.cpp。但是我不能添加任何新的源代码文件(这些选项是灰色的),我实际上不能访问 main.cpp。

但是,如果我构建项目(通过 IDE),它将生成 .o 和 .exe 文件,这些文件毫无意义,因为我无法向源代码添加任何内容。然后,我关闭 QT,打开它,一切正常。

我正在使用 MinGW,但是 QT 仍然可以自动检测 MSVC 编译器和调试器。这不应该引起任何问题,因为默认的构建工具包指定了所有 MinGW 的东西。

任何想法可能是什么原因?我所做的所有在线搜索都指向为 QT5.9 记录和修复的错误,但对我的问题没有明确的解决方案。

【问题讨论】:

    标签: c++ qt visual-c++ mingw


    【解决方案1】:

    我们在 Windows 10 上构建时遇到了同样的问题,我想我找到了解决方案。我们的项目正在使用 Visual Studio 2019(使用 MSVC 编译器)和 Qt 5.12.7(使用 MinGW 64 位编译器)编译 Qt 项目。

    我们进行了相当大的重构,因此我删除了构建目录和 *pro.user 文件。然后我的 Qt 项目也发生了同样的事情。我还创建了一个默认项目,关闭了 Qt,当我重新启动它时,我无法解析 *.pro 文件,出现与您看到的相同的错误。经过一番调查,我恢复了(从回收站中)删除的 .qmake.stash 文件,并且构建再次开始工作。

    我拼出的是 Qt 依赖于 qmake 运行(这个错误应该被修复:https://bugreports.qt.io/browse/QTBUG-60059,但我决定专注于 qmake)。经过一堆试验和错误(没有很好地解释它为什么起作用),我找到了一个解决方案。

    我让这个程序工作了几次。

    • 删除所有构建工件和 *pro.user 文件
    • 打开项目并将其配置为 MinGW 64bit。
    • 得到错误
    • 构建->运行 qmake(您可以观察编译输出以查看它是否正常运行)
    • 点击“文件”->关闭项目
    • 点击“文件”->最近的项目,然后选择您的项目再次打开。
    • 现在修复了!
    • 确保安全并进行构建。

    此外,只要您在 QtCreator 关闭时不清除所有构建工件,打开项目似乎可以找到。您可以在 QtCreator 打开时吹走所有工件,然后在关闭之前重新构建,一切正常。

    【讨论】:

      猜你喜欢
      • 2019-10-08
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      相关资源
      最近更新 更多