QT Creator配置Kit

0、背景:qt5.12.12+vs2022

记得先增加vs2017编译器

一、症状:

你是否有以下症状?

1、用qt新建的工程,用qmake,可惜能看见的只有一个pro文件?

2、安装QT Creator后,使用MSVC编译显示no c++ compiler set in kit,或者MSVC的Kit错误,显示The ABI of the selected debugger does not match the toolchain ABI。

3、打开QT Creator 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版本。

问题就出在这里了!那个扎眼的msvc2005!

三、解决方法

此时,选中一条适合的MSVC,点击右侧克隆,名称稍加随意修改下,ABI一栏选择"自定义",将msvc2005改为msvc2017,再检查下位数32bit或者64bit是否对应,确认没问题后,点击Apply。

注意:x86对应32bit,x64对应64bit,且c和c++需要分别查看、修改克隆。

再返回Kit标签,Compiler中选择新克隆的编译器,应该就没问题了,记得C和C++是一样的改法,都给修改确认一遍。全部修改完毕后,不要忘记点击OK再退出。

相关推荐
Edingbrugh.南空21 分钟前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
CodeCraft Studio1 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
QQ_4376643141 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
aramae1 小时前
大话数据结构之<队列>
c语言·开发语言·数据结构·算法
封奚泽优1 小时前
使用Python实现单词记忆软件
开发语言·python·random·qpushbutton·qtwidgets·qtcore·qtgui
liulilittle2 小时前
C++/CLI与标准C++的语法差异(一)
开发语言·c++·.net·cli·clr·托管·原生
daixin88482 小时前
什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?
java·开发语言·redis·缓存
程序员编程指南3 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
你我约定有三3 小时前
RabbitMQ--消息丢失问题及解决
java·开发语言·分布式·后端·rabbitmq·ruby
张北北.3 小时前
【深入底层】C++开发简历4+4技能描述6
java·开发语言·c++