2017-05-29 562 views
1

我想设置Qt Creator来使用VC2017编译器。它会自动检测一切,但我不断收到警告我的包的设置(在下面的屏幕截图工具提示显示)说CMake configuration has a path to a C/C++ compiler set that does not match the compiler path configured in the tool chain of the kit.QT VC CMake编译器路径

我改变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

Compilers标签的屏幕快照:enter image description here

任何帮助将高度赞赏。谢谢!

回答

1

而不是硬编码在CMake的配置编译器的路径,使用Qt Creator提供给你的变量,然后只需要确保你的包,选择你想从编译器下拉框中使用的编译器。你CMake的配置应该是这个样子:

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 Configuration设置为上述之后警告仍然存在,那么可能仅仅是Qt Creator无法识别编译器可执行文件的指定方式。

如果您一直在试验一下并且出现了构建错误,请尝试清除构建目录并重新运行CMake。当你第一次在一个空的构建目录中运行CMake时,它应该记录它正在尝试使用的编译器的信息。如果它匹配你所期望的并且CMake运行成功完成,那么可以安全地忽略该警告(它不会阻止该套件被使用)。您也可以通过在构建树的顶部找到CMakeCache.txt文件中的CMAKE_CXX_COMPILERCMAKE_C_COMPILER条目来确认正在使用的编译器。

+0

版本15.0是否参考VC2015?因为我只安装了VC2017,奇怪的是Qt会自动调用Qt 5.9.0 MSVC2017 64bit套件。 – antikbd

+0

我删除了硬编码值并使用默认值,但问题仍然存在。我正在摸索如何指向VC2017编译器。 – antikbd

+0

糟糕,对不起,是的,我的错误,我误解了你的编译器设置。你还可以为编译器选项卡添加一个屏幕截图,其中显示了选定的15.0编译器?也可以尝试吹掉你的build目录并重新运行CMake,以确保正确的编译器正在被build。一旦我们找出问题,我会纠正我的答案。 –