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

编译LLVM时cl.exe无法编译测试程序的问题求助

解决CMake + Ninja构建LLVM时C编译器检测失败的问题

从你提供的错误日志来看,核心问题是CMake找不到mt.exe(Manifest Tool),同时rc.exe(Resource Compiler)的执行也失败了,这导致链接阶段无法完成简单测试程序的构建。下面是具体的解决方案:

1. 确保使用正确的开发者命令提示符

你当前使用的是x86架构的VS命令环境,这类环境有时没有完整配置Windows SDK工具的路径。建议切换到x64 Native Tools Command Prompt for Visual Studio 2017(如果你的系统是64位),这个环境会自动配置好所有VS和Windows SDK工具的环境变量,包括mt.exe和rc.exe。

2. 手动指定mt.exe和rc.exe的路径

如果切换命令提示符后问题依然存在,可以在CMake命令中手动指定这两个工具的路径:

cmake -G Ninja ../llvm ^
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ^
-DLLVM_BUILD_TESTS=ON ^
-DCMAKE_MT="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mt.exe" ^
-DCMAKE_RC_COMPILER="C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/rc.exe"

注意:Windows Kits的版本号(比如10.0.17763.0)需要根据你安装的Windows SDK版本调整,你可以在C:/Program Files (x86)/Windows Kits/10/bin/目录下找到对应的版本文件夹。

3. 清理Build目录后重新配置

CMake会缓存之前的配置信息,建议先删除build目录下的所有文件,再重新执行上述CMake命令,避免缓存的错误配置干扰。

4. 验证工具是否可正常调用

在开发者命令提示符中,分别执行以下命令,确认工具能正常运行:

rc /?
mt /?

如果命令提示“找不到文件”,说明环境变量中没有包含这些工具的路径,你需要手动将它们的路径添加到PATH环境变量中:

  • rc.exe通常在C:/Program Files (x86)/Windows Kits/10/bin/<SDK版本>/x86
  • mt.exe通常在C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86

内容的提问来源于stack exchange,提问作者Jon marsh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:41:27