安装QT Creator后,使用MSVC编译显示no c++ compiler set in kit的解决方式
一直写的是React,,临时被拉来写QT,于是开始搭环境Hello World之路。。。走的是qml路线,QT+VS的框架没什么问题,但是单纯的QT Creator框架撸代码问题就来了。结合各类帖子以及deepseek等AI,最后整明白,编译不成功,多半是环境没搭好,要么缺失环境,要么版本不对。此处专门针对标题描述的问题。
(不想看基础安装步骤,只想看解决方案的,直接跳到“解决方案”章节
问题描述
安装QT Creator后,使用MSVC编译显示no c++ compiler set in kit,或者MSVC的Kit错误,显示The ABI of the selected debugger does not match the toolchain ABI。
环境说明
Visual Studio 2022
QT 5.14.2
Windows 11 SDK (10.0.26100.0) 直接官网下:https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
VS和QT下载安装及环境搭建见下文超链接
基础步骤
先安装V2022,再安装QT。如果不想安装VS,请另找参考教程,本篇不太适用。
安装的教程有一个博主写的蛮好用的,不是本文重点,此处给个路牌直接去看。链接: VS2022+QT5.14.2下载安装教程,只是有一点,博主给的QT下载链接已失效,此处再给个好用的QT下载渠道,链接: 找到文中百度网链接并下载QT即可。
下载完后,整体基础搭建还是看上边链接里的。
我创建的是QT Quick Application,创建方式如下:

接下来的几个步骤选默认的就行,直到下面这一步,我把Use Qt Virtual Keyboard的默认勾选给取消掉了,因为这个功能在MSVC编译时也需要额外的环境,所以暂时取消了(这个主要功能是实现移动端触屏输入的)。
下面这一步,我把全部编译器都勾选了,方便随时切换和对比。
最终一步步确认后,进入如下界面,默认有个Hello world基础qml脚本,看图片左下角,包含我之前选的4种编译方式。
选好编译器以及编译版本后,点击绿色三角箭头,即可开始运行。如果选的是MinGW,到这里已经成功了,但是选择MSVC,编译后,没有Hello World窗口弹出,存在报错。
解决方案
之所以MinGW很少出错,而MSVC状况百出,是因为MinGW开箱即用——下载Qt时选择MinGW版本即可获得完整的开发环境,无需安装庞大的Visual Studio。
而MSVC(Microsoft Visual C++)是微软官方推出的C++编译器套件,通常与Visual Studio开发环境深度绑定,其依赖VC++运行库(VC++ Redistributable),这意味着软件部署时需要确保目标机器已安装对应版本运行库或打包到安装程序中。具体想了解可以看这个帖子: Windows Qt开发到底选MSVC编译还是MinGW编译?
打开QT Creator Kit,通常问题能在这里找到答案。问题原因一般就2个:1、Windows SDK未全部安装;2、Kit套件的各部分配置不全/版本冲突。
上面的Kits界面里,第二个红框,通过Debugger一栏,可以看出Windows SDK是否缺失,此处cdb.exe的路径是完整的,且验证过路径真实存在,所以Windows SDK问题不大。
如果你本机没有Windows Kits文件夹,或者文件夹中找不到cdb.exe,此处就会出现问题,那就重新下载安装一个Windows SDK,再链接过来。我曾因为SDK安装不全,缺失cdb.exe等文件,导致出错。
再看第一个红框,Kit套件中MSVC套件是有问题的,前面的图标不是💻,而是一个黄色⚠或者红色错误感叹号。
选择其中一个进行查看,发现Compiler一栏中,C或C++的编译器选择为空(下图一),或者选择编译器后,却显示版本不兼容(下图二、图三),提示“The ABI of the selected debugger does not match the toolchain ABI”。


从Kit进入到编译器标签,查看是否检测到MSVC,如果Windows SDK正确下载,且VS、QT按上面教程下载安装,那么应该此处可以检测到MSVC。
点击选中一个MSVC,可以查看信息,版本不一致的问题就出在这里。我们下载的QT中包含的,是MSVC2017版,而检测出的MSVC编译器,是2005版,因此会出现错误提示The ABI of the selected debugger does not match the toolchain ABI。下面图一为下载的QT中包含的额MSVC静态库版本,图二第二个红框中为编译器中MSVC的ABI版本。

此时,选中一条适合的MSVC,点击右侧克隆,名称稍加随意修改下,ABI一栏选择“自定义”,将msvc2005改为msvc2017,再检查下位数32bit或者64bit是否对应,确认没问题后,点击Apply。
注意:x86对应32bit,x64对应64bit,且c和c++需要分别查看、修改克隆。
再返回Kit标签,Compiler中选择新克隆的编译器,应该就没问题了,记得C和C++是一样的改法,都给修改确认一遍。全部修改完毕后,不要忘记点击OK再退出。
此时,QT Creator左下角选择MSVC编译器,32bit或64bit任意,再点击运行,可看见顺利运行。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)