QT VC CMake编译器路径

4
我正在尝试设置Qt Creator以使用VC2017编译器。它会自动检测一切,但我始终会收到Kit设置的警告(在下面截图的工具提示中显示),其中说“CMake配置有一个已设置的C/C++编译器路径,与Kit的工具链配置的编译器路径不匹配。”我将CMake配置更改为以下值:
CMAKE_CXX_COMPILER:STRING=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x64\cl.exe
CMAKE_C_COMPILER:STRING=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x64\cl.exe
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}

但是没有任何更改。这里有一张截图:enter image description here 编译器选项卡的截图:enter image description here 如能提供帮助,将不胜感激。谢谢!
1个回答

2

不要在 CMake Configuration 中硬编码编译器路径,使用 Qt Creator 为您提供的变量,然后确保您的工具包从 Compilers 下拉框中选择您想要使用的编译器。您的 CMake Configuration 应该看起来像这样:

CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}
CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}

这个警告是针对组件本身的,与您正在尝试使用它的任何构建无关。如果在将CMake配置设置为上述内容后警告仍然存在,则可能是Qt Creator无法识别编译器可执行文件指定方式。

如果您一路上进行了一些实验并遇到了构建错误,请尝试清除您的构建目录并重新运行CMake。第一次在空的构建目录中运行CMake时,它应该记录有关正在尝试使用的编译器的信息。如果它与您期望的匹配并且CMake运行成功完成,则可以安全地忽略此警告(它不会防止使用该工具包)。您还可以通过查找build树顶部的CMakeCache.txt文件中的CMAKE_CXX_COMPILERCMAKE_C_COMPILER条目来确认正在使用的编译器。


版本15.0是指VC2015吗?因为我只安装了VC2017,但奇怪的是Qt自动调用了工具包“Qt 5.9.0 MSVC2017 64位”。 - antikbd
我已经移除了硬编码的值并使用默认值,但问题仍然存在。我正在思考如何指向VC2017编译器。 - antikbd
抱歉,是我错了,我误读了你的编译器设置。你能否添加一个“编译器”选项卡的截图,显示已选择15.0编译器?同时尝试清除构建目录并重新运行CMake,以确保构建使用正确的编译器。一旦我们找出问题所在,我会更正我的答案。 - Craig Scott
你的第一张截图显示了选择的_amd64_编译器,但是在第二张截图中你展示了_amd64_x86_编译器。你能否更新第二张截图以展示与第一张相同的编译器? - Craig Scott
抱歉,我的错。唯一的区别在于“初始化”路径(只是不同的参数):C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat amd64 - antikbd
我已经更新了我的答案,希望它能够更清晰地解释事情。 - Craig Scott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接