QT Creator配置Kit的实现示例

 更新时间:2025年07月23日 11:40:37   作者:gaoenyang760525  
本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及Windows SDK缺失导致配置错误的问题解决,感兴趣的可以了解一下

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再退出。

到此这篇关于QT Creator配置Kit的实现示例的文章就介绍到这了,更多相关QT Creator配置Kit内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 浅析C++中static的一些用法

    浅析C++中static的一些用法

    static是静止的,静态的意思,那它有什么用呢,今天通过实例代码讲解下C++中static的一些用法,感兴趣的朋友跟随小编一起看看吧
    2022-12-12
  • C++ map的简单使用实现

    C++ map的简单使用实现

    map是STL的一个关联容器,它以<key,value>一对一的形式存储,且map的内部自建一个红黑树,使得其可以自动排序,本文就介绍一下C++ map的简单使用,感兴趣的可以了解一下
    2021-05-05
  • c语言中 基于随机函数的使用详解

    c语言中 基于随机函数的使用详解

    本篇文章对c语言的随机函数进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • C++中的模板template小结

    C++中的模板template小结

    这篇文章主要介绍了C++中的模板template的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C++ vector从入门到模拟实现过程

    C++ vector从入门到模拟实现过程

    这段文章详细讲解了C++ STL中的vector容器,从其优势、基础删查改操作到迭代器失效等,并提供了模拟实现和常见陷阱的解析,帮助开发者全面掌握vector的用法,重点强调了reserve的用法、迭代器失效的处理和深拷贝、浅拷贝的区别,感兴趣的朋友一起看看吧
    2026-06-06
  • C语言之数组名与数组起始地址的关系解析

    C语言之数组名与数组起始地址的关系解析

    这篇文章主要介绍了C语言之数组名与数组起始地址的关系,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • C语言指针详解

    C语言指针详解

    这篇文章非常详细的讲解了C语言中指针的概念,包含多种方法,多种定义,全面的说明了C语言的特性
    2021-06-06
  • C++标准模板库string类的介绍与使用讲解

    C++标准模板库string类的介绍与使用讲解

    今天小编就为大家分享一篇关于C++标准模板库string类的介绍与使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 深入理解strcpy与memcpy的区别

    深入理解strcpy与memcpy的区别

    本篇文章是对strcpy与memcpy的区别进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言编程之扫雷小游戏空白展开算法优化

    C语言编程之扫雷小游戏空白展开算法优化

    扫雷是电脑上很经典的游戏,特意去网上玩了一会,几次调试之后,发现这个比三子棋要复杂一些,尤其是空白展开算法上和堵截玩家有的一拼,与实际游戏差别较大,不能使用光标,下面来详解每一步分析
    2021-09-09

最新评论