升级VS2017至15.9.54后,CMake构建VS2010项目报错:No CMAKE_CXX_COMPILER could be found
解决CMake找不到VS2010 C++编译器的问题
核心原因
VS2017 15.9.54版本默认移除了对VS2010工具集的支持,或是你安装该版本时未勾选对应组件,导致CMake无法定位到VS2010的编译工具链。
具体修复步骤
1. 补装VS2010工具集到VS2017
打开Visual Studio Installer,选择VS2017的“修改”选项:
- 切换到「单个组件」标签页
- 在「编译器、生成工具和运行时」分类下,找到并勾选Visual C++ 2010 工具集
- 点击「修改」完成安装
2. 手动指定编译器路径给CMake
如果安装工具集后仍报错,直接在CMake命令里指定VS2010的编译器路径:
cmake.exe -G "Visual Studio 10 Win64" -DCMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/x86_amd64/cl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/x86_amd64/cl.exe" ..
注意:路径需根据你VS2010的实际安装位置调整,确保cl.exe文件存在
3. 通过VS2010命令行执行CMake
找到并打开「Visual Studio 2010 x64 Win64 Command Prompt」,在这个命令窗口里执行你的CMake生成命令。该工具会自动配置好VS2010的环境变量,让CMake能直接识别到编译工具。
4. 强制指定Windows 7.1 SDK版本
在CMake命令中添加SDK版本参数,确保CMake关联到正确的SDK:
cmake.exe -G "Visual Studio 10 Win64" -DCMAKE_SYSTEM_VERSION=7.1 ..
关键提醒
VC++ 2010可再发行组件仅提供运行时支持,不包含编译所需的工具链,必须安装完整的VS2010工具集才能解决编译问题。
内容的提问来源于stack exchange,提问作者RKum
相关产品推荐
相关产品推荐

