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

安装VS2022后MSBuild命令行执行失败:无法运行rc.exe

解决方案:MSBuild命令行编译报LNK1158无法运行rc.exe及CMake找不到编译器问题

针对你遇到的VS2022安装后MSBuild命令行编译失败(LNK1158)、CMake无法识别编译器的问题,以下是针对性的排查和修复步骤:

1. 强制为MSBuild指定RC工具路径

链接器调用rc.exe时可能未正确读取系统PATH,可直接通过MSBuild参数强制指定路径:

msbuild platform_tools_test.vcxproj /p:RC="C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\rc.exe" /p:Platform=x64 /p:Configuration=Debug

也可以直接修改platform_tools_test.vcxproj文件,在<PropertyGroup>节点中添加:

<RC>C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\rc.exe</RC>

2. 修复Windows SDK工具注册与环境变量

  • 打开VS Installer,确认对应版本的Windows SDK已安装**"Windows SDK Tools"**组件(包含rc.exe);
  • 注册rc.exe的依赖库:
    regsvr32 "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\rcdll.dll"
    
  • 将rc.exe所在路径移到系统PATH最前端,避免其他版本工具冲突:
    set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64;%PATH%
    

3. 确保MSBuild使用正确的环境上下文

  • 必须通过VS 2022 x64开发者命令提示符启动编译,不要直接用普通CMD;
  • 执行编译前先验证rc.exe路径:
    where rc.exe
    
    确认输出的路径是你预期的Windows SDK下的x64版本;
  • 排查是否有第三方工具(如杀毒软件、打包工具)篡改或拦截了环境变量,临时关闭后重试。

4. 修复CMake无法识别编译器的问题

  • 同样在VS 2022 x64开发者命令提示符中运行CMake,确保CMake版本≥3.21(支持VS2022);
  • 清除CMake缓存后重新配置:
    rmdir /s /q build
    mkdir build && cd build
    cmake --fresh -G "Visual Studio 17 2022" -T host=x64 -A x64 ..
    
  • 手动指定编译器路径:
    cmake -G "Visual Studio 17 2022" -T host=x64 -A x64 -DCMAKE_CXX_COMPILER="C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe" ..
    

5. 排查权限与拦截问题

  • 以管理员身份运行VS开发者命令提示符,避免权限不足导致rc.exe无法执行;
  • 检查rc.exe的数字签名:右键点击rc.exe → 属性 → 数字签名,确认签名方为"Microsoft Corporation",排除文件被篡改的可能;
  • 临时关闭杀毒软件、Windows Defender实时保护等工具,测试是否被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:05:02