本文耗时多天,研究了所有技术贴,总结了各个原因,总有一款适合你的电脑
工具是Visual Studio2022和Qt Creator 5.14.2。高版本的解决方案也是一样的。
问题是:CMake找不到C和C++的编译器。
那么解决问题的思路是:
1、CMake是个啥玩意儿?
其实你不需要知道它是个啥玩意额,你只需要知道如果你没有安装CMake,那么就百度安装一个CMake,这里建议默认安装,否则你要手动添加CMake的环境变量。默认安装CMake后就不用管了哈!看下一步。
2、明确是谁的C和C++编译器?
答:是VS2017的C和C++编译器(而不是Qt的!)。所以你首先要找到VS2017的C和C++编译器(cl.exe就是我们要找的编译器)的路径,我的是G:\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64,然后把它添加到环境变量PATH中即可。因为CMake够智能,不需要手动在其配置文件中加入这条路径,当它找不到的时候就会去系统变量中找。
好了,到这里黄色感叹号的问题应该解决了。
但是你用MSVC2017去编译运行一个Qt程序还可能会出现类似下面的问题:
C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\include\QtCore\qglobal.h:45: error: C1083: cannot open included file: ‘type_traits’: No such file or directory
那么只需要在环境变量PATH中再添加下面的内容就可以了:
%SystemRoot%\system32
————————————————
问题,构建套件下出现黄色感叹号,不识别本地装载的msvc2015,
这个Manual下应该有对应的CDB环境
这里手动配置前是空的
下面开始手动配置
单击add按钮,添加新的Manual
在path里面选择上面Name识别到的Auto-detected CDB的路径
笔者路径在E:\software\Microsoft\VisualStudio\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64
注意这里要配置两个CDB,一个为x64目录下的cl.exe
另一个为x86 下的cl.exe
这就是为什么在没有配置对应的构建套件时,qt运行项目时报错cl.out
将path选择好后单击apply
接下来找到构建套件
对于MSVC2015 64bit我们这里要选择对应的c++ Compiler 14版本
对应的debugger也要选择x64
如图
单击applay,关闭qt,重新打开即可识别msvc,成功解决了黄色感叹号的问题
对于msvc2017
这个要装载
c++ Compiler 15版本,即可,如图
问题解决