You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ninja Generator时CMake无法通过C编译器测试报错求助

问题根因

该错误是CMake调用Ninja构建测试程序时,无法找到Windows SDK提供的*资源编译器(rc.exe)和清单工具(mt.exe)*导致的,具体触发原因分为两类:

  1. Visual Studio 2019安装不完整,缺少对应版本的Windows SDK组件
  2. 运行CMake的终端未加载VS开发者命令行环境,工具路径未加入系统PATH,CMake识别不到rc、mt工具,所以出现CMAKE_MT-NOTFOUND和「系统找不到指定文件」的报错。
解决方案
  • 检查VS安装完整性:打开VS2019 Installer,进入「修改」界面,确认「使用C++的桌面开发」工作负载已勾选,且该工作负载下的对应版本Windows 10/11 SDK已安装,缺失则补装后重启设备。
  • 使用VS专属终端执行构建:在开始菜单找到「Visual Studio 2019」目录,打开「x64 Native Tools Command Prompt for VS 2019」终端,再执行CMake生成、构建命令,该终端会自动配置好所有MSVC工具链的环境变量。
  • 手动配置环境变量(可选):如果需要在普通终端执行构建,将C:\Program Files (x86)\Windows Kits\10\bin\<你的SDK版本号>\x64路径加入系统环境变量PATH,替换<你的SDK版本号>为你本地安装的Windows SDK版本(可在上述路径下查看已安装的版本目录,需保证该目录下存在rc.exe和mt.exe文件)。
  • 清除缓存重新生成:执行上述操作后,先删除旧的构建目录(也就是你报错中的C:/Users/jamieza/source/repos/CMakeProject2/out/build/x64-Debug文件夹),再重新运行CMake生成命令,避免旧缓存干扰配置。
  • 如果你是在VS IDE内直接打开CMake项目触发报错:打开项目的CMake设置页,确认「Windows SDK版本」和「工具集」已经手动选择为已安装的对应版本,不要使用默认的未指定配置。

内容的提问来源于stack exchange,提问作者Zachary Jamieson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:15:03