升级MSVC至19.34后CMake无法在VSCode中找到编译器
MSVC 19.34升级后VSCode+CMake无法识别编译器的解决办法
1. 从开发者命令提示符启动VSCode
找到系统里的x64 Native Tools Command Prompt for VS 2022,打开后输入code启动VSCode。这样VSCode的终端会自动加载MSVC的所有环境变量,CMake能直接找到cl.exe,不用额外配置。
2. 手动给VSCode终端注入MSVC环境
如果不想重新启动VSCode,直接在当前终端里执行MSVC的环境配置脚本:
"C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat"
执行完再重新运行CMake配置即可。
3. 修正CMake的编译器路径配置
打开VSCode的CMake工具面板,点击Configure旁边的齿轮,编辑settings.json,手动指定C/C++编译器的完整路径:
"cmake.configureSettings": { "CMAKE_C_COMPILER": "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe", "CMAKE_CXX_COMPILER": "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe" }
注意路径用正斜杠或者双反斜杠,避免转义错误。
4. 修复C/C++扩展的编译器设置
按Ctrl+,打开VSCode设置,搜索C_Cpp: Default Compiler Path,把路径改成完整的cl.exe可执行文件路径,而不是目录:
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64\cl.exe
之前的错误就是因为只填了目录,没指定到cl.exe。
5. 彻底清理缓存并重新扫描工具包
- 删除项目下的
build/out等构建目录; - 删掉
%USERPROFILE%\.cmake\api\v1\client下的所有文件,这是CMake工具包的缓存; - 重启VSCode,重新扫描工具包,选
amd64版本再配置。
6. 升级CMake版本(可选)
CMake 3.24对MSVC 19.34的支持可能有兼容问题,试试升级到3.25及以上版本,新版本对最新MSVC的适配更好。
内容的提问来源于stack exchange,提问作者tooEarlyToGetUp
相关产品推荐
相关产品推荐

