百分百解决Qt Creator构建套件时出现黄色感叹号问题!

本文详细讲述了如何解决CMake在寻找VisualStudio2017的C++编译器(cl.exe)时遇到的问题,涉及CMake安装、VS编译器路径设置以及Qt项目配置,确保环境变量正确,消除黄色感叹号错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文耗时多天,研究了所有技术贴,总结了各个原因,总有一款适合你的电脑

工具是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版本,即可,如图

问题解决

<think>嗯,用户想解决QT项目中出现的红色感叹号问题。我需要先理解红色感叹号的可能原因,然后根据提供的引用资料来整理解决方法。 首先,用户提到的引用中有几个例子,比如构建路径错误、编译器不兼容、构建套件配置问题等。比如引用[1]讲的是Android项目中classpath路径错误,但这里用户问的是QT,可能需要类似的方法。引用[2]和[3]提到的是MSVC编译器版本不兼容,导致Qt安装后出现感叹号,这可能是因为VS版本和Qt不匹配。引用[5]则指出需要调整构建套件的ABI设置,比如从64位改为32位,或者选择正确的编译器。 接下来,我应该把这些信息组织起来,分点说明可能的原因和对应的解决方法。比如,构建套件配置错误、编译器版本不兼容、项目文件损坏、依赖项缺失等。每个原因下都要有具体的解决步骤,比如检查构建套件中的编译器路径是否正确,确保安装了对应的Visual Studio版本,或者清理项目重新构建等。 同,需要确保回答符合用户的要求:使用中文,行内公式用$...$,独立公式用$$...$$,并且生成相关问题。还要注意引用正确的来源,比如引用[3]、[5]等。 可能遗漏的点是用户是否需要具体步骤截图,但根据示例,用户希望结构清晰,分步骤说明即可。另外,需要确认是否所有引用中的解决方法都适用于QT,比如引用[4]关于QLineEdit的错误提示可能不相关,所以不需要包含。 最后,生成的相关问题应该围绕QT构建问题,比如如何配置构建套件、如何切换编译器、如何清理项目等。</think>### QT项目出现红色感叹号的原因及解决方法 #### 一、错误原因分析 1. **构建套件(Kit)配置错误** 当Qt Creator检测到构建套件的编译器、调试器或Qt版本路径无效,会显示红色感叹号[^3][^5]。例如: - MSVC编译器版本与已安装的Visual Studio不匹配 - Qt版本路径指向错误位置 - 调试器未正确关联 2. **编译器版本不兼容** MSVC编译器要求与Visual Studio版本严格对应。例如: $$ Qt5.9.4 \text{ 需要 } MSVC2015 \text{ 对应 } VS2015 $$ 若安装VS2022而未安装对应兼容包,则会出现红色感叹号[^2]。 3. **项目文件损坏** `.pro.user`或`.pro`文件配置异常可能导致构建失败。 4. **依赖项缺失** 缺少Windows SDK、.NET Framework或OpenCV等第三方库,会触发构建错误。 --- #### 二、具体解决方法 **步骤1:检查构建套件配置** 1. 打开Qt Creator → 菜单栏选择`工具` → `选项` → `构建和运行` 2. 在`构建套件(Kit)`选项卡中: - 检查带有红色感叹号套件 - 确认`编译器`路径有效(如`C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin`) - 验证`Qt版本`路径正确(如`Qt5.9.4\msvc2015_64\bin`) **步骤2:修复编译器兼容性** 1. 安装与Qt版本匹配的Visual Studio版本(如Qt5.9.4需要VS2015) 2. 在构建套件配置中,选择对应的编译器ABI: ```plaintext 例如:将MSVC2015的ABI改为x86-windows-msvc2015-pe-32bit[^5] ``` 3. 安装Windows 10 SDK和调试工具(通过Visual Studio Installer勾选`C++桌面开发`) **步骤3:清理并重建项目** 1. 删除项目目录下的`.pro.user`文件和`build`文件夹 2. 右键项目 → 执行`执行qmake` 3. 选择`构建` → `重新构建项目` **步骤4:检查环境变量** 1. 确认`PATH`环境变量包含: - Qt二进制目录(如`C:\Qt\5.9.4\msvc2015_64\bin`) - MSVC编译器路径(如`C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin`) --- #### 三、典型场景示例 **案例1:MSVC2015显示红色感叹号** 解决方法:安装`Visual C++ Redistributable for Visual Studio 2015`,并在Qt构建套件中选择`Microsoft Visual C++ Compiler 14.0`。 **案例2:切换ABI版本** 当使用32位库,需在构建套件中选择`x86-windows-msvc2019-pe-32bit`对应的编译器。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值