Visual Studio 2022创建CMake项目时C编译器编译测试程序失败求助
解决VS2022 CMake项目编译测试程序失败的问题
问题根源分析
从错误日志可定位核心问题:
- 资源编译器
rc.exe执行时提示"找不到指定文件" - CMake调用链接器时出现
CMAKE_MT-NOTFOUND,说明缺少mt.exe工具或路径未配置
以上均指向VS2022的Windows SDK组件不完整,或环境变量配置导致工具链无法被CMake正确识别。
解决方案步骤
1. 补全VS2022的C++开发组件
- 打开Visual Studio Installer,选择"修改"你的VS2022 Community版本
- 确保勾选:
- 核心组件:桌面开发使用C++
- 可选组件:对应系统版本的Windows SDK(如Windows 11 SDK)、MSVC v143 - VS 2022 C++ x64/x86生成工具
- 完成安装后重启VS
2. 验证并配置工具链环境变量
- 打开VS2022自带的「x64 Native Tools Command Prompt」,执行以下命令检查工具是否存在:
where rc.exe where mt.exe- 若找不到,回到第一步补装对应版本的Windows SDK
- 若找到,复制工具所在路径(通常是
C:\Program Files (x86)\Windows Kits\10\bin\[SDK版本号]\x64)
- 打开系统环境变量设置,将上述路径添加到PATH的最顶端,确保优先调用VS工具链
- 重启电脑使环境变量生效
3. 重置CMake项目配置
- 关闭VS,删除项目目录下的
out/build文件夹(即日志中的C:/Users/Light/source/repos/CMakeProject3/out/build/) - 重新打开VS加载项目,点击CMake工具栏的「配置」按钮
- 若使用Ninja生成器,在CMake配置界面添加以下变量:
CMAKE_MT:填入mt.exe的完整路径(如C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\mt.exe)CMAKE_RC_COMPILER:填入rc.exe的完整路径(如C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\rc.exe)
4. 排除Python嵌入环境的干扰
- 打开系统环境变量,将VS自带CMake的路径(
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin)移到Python相关路径的前面,避免工具链冲突
内容的提问来源于stack exchange,提问作者Light_IDN
相关产品推荐
相关产品推荐

