Qt出现No suitable kits found解决方案,qmake可行但是CMake没有可用的kits

Qt出现No suitable kits found解决方案,qmake可行但是CMake没有可用的kits

admin
8月3日发布
温馨提示:
本文最后更新于2025年08月03日,已超过66天没有更新,若内容或图片失效,请留言反馈。

本文详细解决Qt Creator新建项目时提示“No suitable kits found”的问题,尤其针对CMake项目报错而qmake项目正常的情况。核心原因是Qt未正确安装或配置CMake。解决方案分三步:(1)通过临时切换qmake构建系统验证问题;(2)使用 Qt Maintenance Tool 安装缺失的CMake组件(勾选Build Tools > CMake);(3)在Qt Creator中自动检测或手动配置CMake路径选项 > Kits > CMake)。文中对比了qmake与CMake的适用场景,建议新手用qmake快速开发,长期项目学习CMake。适用于Qt 6及以上版本。

状况描述

新建项目提示: No suitable kits found.Add a kit in the gptions or via the maintenance tool of the SDK

取消Hide unsuitable kits的时候,下面出现了很多的Kits,例如Desktop Qt 6.9.1 llvm-mingw 64-bit、安卓 Qt 6.9.1 Clang x86_64等等

状况描述

问题排查

选项 > Kits 界面,先选择 编译器(Compilers) 标签页,看一下详细页:

CMake未配置

从Qt 6开始,新建项目的默认构建系统是CMake。如果Qt Creator没有找到或正确配置CMake程序本身,那么它会认为所有Kit都无法用于创建一个基于CMake的项目,因此会报告“No suitable kits found”。

没有有效的CMake

创建项目时手动选择qmake,是一个有效的诊断方法,同时也是一个备用方案。如果问题确实出在CMake上,那么切换到Qt传统的构建系统qmake应该就能成功。如果此时发现之前灰色的Kit(如MinGW和MSVC)现在可以正常选择了,那就100%可以确定是您的CMake配置出了问题。可以继续使用qmake完成项目创建,或者返回解决方案一去修复CMake的配置。

问题修复

找到Qt Maintenance Tool

Qt Maintenance Tool

一定要勾选Build Tools里的CMake。然后进行安装即可。

CMake安装

然后回到Qt中看看有没有。

执行自动检测(首选方法) 在窗口右侧,您应该能看到一些按钮。请点击 自动检测 (Auto-detect)

  • 这个功能会自动扫描常用路径,找到这个自带的CMake并将其添加到列表中。
  • 如果成功,列表中会立刻出现一个新条目,包含了CMake的名称和可执行文件路径。

如果“自动检测”没有找到任何东西,您需要手动添加它:

  • 点击 Add... (或 手动设置) 按钮。
  • 会弹出一个文件选择对话框,要求您找到 cmake.exe 文件。
  • 它最可能位于您的Qt安装目录中。请浏览到类似下面的路径: D:\Qt\Tools\CMake_64\bin\cmake.exe

检测到cmake

至此,问题解决。

不想安装CMake只用qmake?

完全可以直接使用 qmake 来代替 cmake 进行Qt开发,尤其是对于初学者和中小型项目来说。它们都是构建系统生成器 (Build System Generator)。作用是读取您的项目配置文件,然后为您的操作系统和编译器生成相应的构建指令(例如,在Windows上生成Visual Studio的 .sln 文件或MinGW的 Makefile)。

特性qmakeCMake
易用性⭐⭐⭐⭐⭐ (非常简单)⭐⭐ (较复杂)
功能/灵活性⭐⭐⭐ (够用)⭐⭐⭐⭐⭐ (非常强大)
对Qt的支持⭐⭐⭐⭐⭐ (原生支持)⭐⭐⭐⭐ (官方重点支持)
第三方库集成⭐⭐ (比较麻烦)⭐⭐⭐⭐⭐ (非常方便)
未来趋势维护状态官方推荐,行业主流
当前建议直接使用,立刻开始!有空再配置,作为长期技能学习

Qmake是Qt的“亲儿子”,是Qt官方创造并长期使用的构建系统。主要服务于Qt项目。如果您想在一个项目里集成大量非Qt的第三方库,qmake 的配置会变得比较复杂和笨拙。Qt官方已经宣布,未来的开发重心将转向CMake,qmake 目前处于维护状态,不再添加新功能。

CMake是一个独立于Qt的、开源的、跨平台的构建系统。被广泛应用于C++社区的各种项目,例如LLVM、OpenCV、KDE等。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
上传图片
OωO
取消