Qt Creator使用MSVC需手动配对编译器(cl.exe)、调试器(CDB)、Windows SDK和Kit,缺一不可;cl.exe路径须真实存在且可执行,CDB需单独安装“Debugging Tools for Windows”,rc.exe需复制至Qt对应bin目录。

Qt Creator 要用 MSVC 编译和调试,不是装完 Visual Studio 就自动好使的——它必须手动配对编译器、调试器、SDK 和 Kit,缺一不可。多数“黄色感叹号”或“无法启动调试”的问题,都卡在这四者路径不匹配或组件缺失上。
怎么确认 MSVC 编译器路径是否有效?
Qt Creator 不会自己猜编译器在哪,得你指给它一个真实的 cl.exe。这个文件必须存在且能运行,否则 Kit 会直接标红。
- 典型路径(VS 2022 Build Tools):
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\Hostx64\x64\cl.exe - 典型路径(VS 2019 社区版):
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe - 验证方法:在命令行里直接运行
cl /?,看到版本输出才算通过 - 常见坑:路径里有空格或括号(如
Program Files (x86))没问题,但 Qt Creator 配置时不能漏掉Hostx64\x64这层——选错架构(比如用了Hostx86\x64)会导致编译失败但报错极隐晦
为什么调试器老是显示“CDB not found”?
CDB(Console Debugger)不是 VS 自带就启用的,默认不装。Qt Creator 的 MSVC 调试完全依赖它,没它就只能看日志、不能断点、不能查看变量。
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
- 必须安装 Windows SDK 的 “Debugging Tools for Windows” 组件(不是“开发工具”,是“调试工具”)
- 典型 CDB 路径:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe - 如果该路径下没有
cdb.exe,去控制面板 → “程序和功能” → 找到对应版本的 Windows SDK → “更改” → 勾选 “Debugging Tools for Windows” - Qt Creator 中调试器配置位置:工具 → 选项 → 调试器 → 添加 → 类型选 “CDB” → 指向上面那个
cdb.exe
Kit 配置时最容易忽略的三个绑定项
Kit 是 Qt Creator 里把编译器、调试器、Qt 版本、设备三者捏在一起的逻辑单元。只配对了编译器,其他两个没绑对,照样报错或静默失败。
-
Qt 版本:必须是你用 Qt MaintenanceTool 安装过的、明确标注为
MSVC 2019 64-bit或MSVC 2022 64-bit的那一套,不能选 MinGW 或 Android 版本 -
编译器:C++ 和 C 编译器要分别指定,且必须和 Qt 版本位数/MSVC 版本严格一致(例如 Qt 的
msvc2019_64就不能配msvc2022_64的cl.exe) - 调试器:必须指向你刚配好的 CDB,且类型要选 “CDB”,不能误选成 “GDB” 或留空
- 额外提示:Kit 名称建议带版本信息,比如
Desktop Qt 5.15.2 MSVC2019 64bit,避免后期混淆
rc.exe 缺失导致 uic/moc 后无法链接?
Qt 的资源编译(.rc 文件)、图标嵌入、版本信息写入都依赖 Windows 平台的 rc.exe。MSVC 工具链默认不把它放进 PATH,Qt Creator 也找不到它,结果就是编译到链接阶段突然报 LNK1181: cannot open input file 'xxx.res'。
- 找到
rc.exe:通常在 Windows SDK 目录下,例如C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\rc.exe - 复制到 Qt 的 bin 目录:比如
C:\Qt\5.15.2\msvc2019_64\bin\(注意是 Qt 安装目录下的对应 MSVC 子目录) - 同时复制
rcdll.dll到同一目录,否则rc.exe运行会报 DLL 找不到 - 不用改系统 PATH,Qt Creator 会优先从 Qt 自身 bin 目录找工具
rc.exe 没拷、cdb.exe 路径写错一位、Kit 里 Qt 版本和编译器版本对不上。这些地方一旦漏掉,错误往往延迟出现,而且提示语毫无指向性。

















