本文详细解决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) 标签页,看一下详细页:
从Qt 6开始,新建项目的默认构建系统是CMake。如果Qt Creator没有找到或正确配置CMake程序本身,那么它会认为所有Kit都无法用于创建一个基于CMake的项目,因此会报告“No suitable kits found”。
创建项目时手动选择qmake,是一个有效的诊断方法,同时也是一个备用方案。如果问题确实出在CMake上,那么切换到Qt传统的构建系统qmake
应该就能成功。如果此时发现之前灰色的Kit(如MinGW和MSVC)现在可以正常选择了,那就100%可以确定是您的CMake配置出了问题。可以继续使用qmake完成项目创建,或者返回解决方案一去修复CMake的配置。
问题修复
找到Qt Maintenance Tool
:
一定要勾选Build Tools
里的CMake。然后进行安装即可。
然后回到Qt中看看有没有。
执行自动检测(首选方法) 在窗口右侧,您应该能看到一些按钮。请点击 自动检测
(Auto-detect)。
- 这个功能会自动扫描常用路径,找到这个自带的CMake并将其添加到列表中。
- 如果成功,列表中会立刻出现一个新条目,包含了CMake的名称和可执行文件路径。
如果“自动检测”没有找到任何东西,您需要手动添加它:
- 点击
Add...
(或手动设置
) 按钮。 - 会弹出一个文件选择对话框,要求您找到
cmake.exe
文件。 - 它最可能位于您的Qt安装目录中。请浏览到类似下面的路径:
D:\Qt\Tools\CMake_64\bin\cmake.exe
至此,问题解决。
不想安装CMake只用qmake?
完全可以直接使用 qmake
来代替 cmake
进行Qt开发,尤其是对于初学者和中小型项目来说。它们都是构建系统生成器 (Build System Generator)。作用是读取您的项目配置文件,然后为您的操作系统和编译器生成相应的构建指令(例如,在Windows上生成Visual Studio的 .sln
文件或MinGW的 Makefile
)。
特性 | qmake | CMake |
---|---|---|
易用性 | ⭐⭐⭐⭐⭐ (非常简单) | ⭐⭐ (较复杂) |
功能/灵活性 | ⭐⭐⭐ (够用) | ⭐⭐⭐⭐⭐ (非常强大) |
对Qt的支持 | ⭐⭐⭐⭐⭐ (原生支持) | ⭐⭐⭐⭐ (官方重点支持) |
第三方库集成 | ⭐⭐ (比较麻烦) | ⭐⭐⭐⭐⭐ (非常方便) |
未来趋势 | 维护状态 | 官方推荐,行业主流 |
当前建议 | 直接使用,立刻开始! | 有空再配置,作为长期技能学习 |
Qmake是Qt的“亲儿子”,是Qt官方创造并长期使用的构建系统。主要服务于Qt项目。如果您想在一个项目里集成大量非Qt的第三方库,qmake
的配置会变得比较复杂和笨拙。Qt官方已经宣布,未来的开发重心将转向CMake,qmake
目前处于维护状态,不再添加新功能。
CMake是一个独立于Qt的、开源的、跨平台的构建系统。被广泛应用于C++社区的各种项目,例如LLVM、OpenCV、KDE等。