Qt Creator正常构建CMake项目的关键是Kit三元组正确绑定:CMake路径需手动配置(不依赖系统PATH),且必须关联匹配的编译器与Qt版本;MSVC用户须通过VS命令行环境启动Qt Creator,避免编译器测试失败。

Qt Creator 要能正常加载和构建 CMake 项目,关键不是“装了 CMake 就行”,而是它必须能**在正确上下文中调用 CMake,并识别出 Qt 模块路径和编译器环境**。很多报错(比如 find_package(Qt6 REQUIRED) 失败、The C++ compiler is not able to compile a simple test program)都卡在这一步。
确认 CMake 可执行文件路径是否被 Qt Creator 正确识别
Qt Creator 不会自动从系统 PATH 读取 CMake —— 它只认你在 “工具 → 选项 → Kits → CMake” 里手动指定的路径。即使 cmake --version 在终端能运行,Qt Creator 仍可能用的是空路径或旧版本。
- 打开
Tools → Options → Kits → CMake,点击Add添加一个新 CMake 配置 - Path 填你本地安装的
cmake.exe(例如C:/Program Files/CMake/bin/cmake.exe),别用 Qt 自带的(除非你明确知道它版本兼容) - 命名建议带版本号,如
CMake 3.26.3,方便后续 kit 关联 - 如果使用 MinGW,确保该 CMake 是支持 MinGW 的版本(3.20+ 基本都支持);MSVC 用户则无需额外操作,但需保证 VS 命令行环境已就绪
Kit 中的 CMake 配置必须绑定对应编译器与 Qt 版本
一个 Kit 是编译器 + Qt 版本 + CMake 的三元组。缺一不可。常见错误是:CMake 路径对了,但 Kit 里没选 Qt,或 Qt 版本没关联到对应 lib/cmake/Qt6 目录。
CMake 4.3.2 Windows x86_64 历史版本安装包,适合旧项目兼容、构建环境回退、CMakeLists.txt 迁移验证、Visual Studio/Ninja/Makefile 生成器测试和 C/C++ 项目维护。
- 进入
Tools → Options → Kits → Kits,选中你要用的 Kit(如Desktop Qt 6.7.3 MinGW 64-bit) - 检查 “CMake Tool” 下拉框是否指向你刚添加的 CMake 实例
- 检查 “Qt version” 是否已选择有效 Qt 安装(路径下应有
lib/cmake/Qt6或lib/cmake/Qt5) - 检查 “Compiler” 是否与 Qt 安装匹配(MinGW Qt 必须配 MinGW 编译器,MSVC Qt 必须配 MSVC 编译器)
- 若 Qt version 显示 “Not valid”,说明 Qt 安装路径不完整,或未勾选对应组件(如 Qt 6.x 的
Qt6模块)
CMakeLists.txt 中 CMAKE_PREFIX_PATH 不要硬编码绝对路径
很多人在 Projects → Build & Run → CMake → CMake arguments 里写 -DCMAKE_PREFIX_PATH=C:/Qt/6.7.3/msvc2019_64,看似能过,但换机器、换用户、换 Qt 安装路径就立刻崩。这不是可维护做法。
- Qt Creator 会在 Kit 级别自动注入
CMAKE_PREFIX_PATH,前提是 Kit 中 Qt version 已正确配置 - 如果你手动加了这个参数,反而可能覆盖掉 Qt Creator 自动传入的值,导致
find_package找不到模块 - 真正需要显式设置的,通常是跨平台资源路径或第三方库,用
-DXXX_ROOT=...更安全 - 验证方法:在
CMakeLists.txt里加一行message(STATUS "CMAKE_PREFIX_PATH = ${CMAKE_PREFIX_PATH}"),构建时看输出是否含 Qt 路径
Windows 上 MSVC Kit 启动前必须继承 VS 环境变量
这是最隐蔽也最常被忽略的一点:Qt Creator 默认启动时不加载 Visual Studio 的环境变量(如 INCLUDE、LIB、VCINSTALLDIR),导致 CMake configure 阶段直接报“compiler test failed”。
- 不要双击图标启动 Qt Creator;改用 VS 自带的
Developer Command Prompt for VS 2022,在里面运行qtcreator.exe - 或者在 Windows 设置中为 Qt Creator 创建快捷方式,目标设为:
cmd /c "call \"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat\" && start \"\" \"C:\path\to\qtcreator.exe\"" - MinGW 和 GCC 用户无此问题,因为它们不依赖复杂环境变量链
- 如果已经看到
The C++ compiler is not able to compile a simple test program,先关掉 Qt Creator,用上述方式重启再试
真正麻烦的从来不是 CMake 语法,而是 Qt Creator 如何把 CMake、编译器、Qt 三者拧成一股绳。Kit 配置错一个字段,整个构建流程就会在 configure 阶段静默失败,连错误日志都藏得深。动手前先确认这四点,比反复删 build 目录高效得多。

















