2

我对 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。项目错误:解析文件 C:\Qt\Test\Proj\Proj.pro 时无法解析来自编译器输出错误的默认搜索路径。放弃。

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

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

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

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

4

1 回答 1

2

我们在 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 64 位。
  • 得到错误
  • 构建->运行 qmake (您可以观察编译输出以查看它是否正常运行)
  • 点击“文件”->关闭项目
  • 单击“文件”-> 最近的项目并选择您的项目以再次打开。
  • 现在它已经修复了!
  • 保持安全并进行构建。

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

于 2020-08-10T04:42:18.810 回答