0. 引言
当使用CMake为Visual Studio生成工程项目时,会报如下错误(我使用的是VS2017版本):
CMake Error at CMakeLists.txt:3 (project):
Generator
Visual Studio 15 2017
could not find any instance of Visual Studio.
Configuring incomplete, errors occurred!
这个提示很明确,就是找不到编译平台的问题。查找网上的方法没有头绪,还有人说卸载重新安装,更有甚者说重装系统。很久没有解决。
1. 解决思路
1.1 环境变量的设定
这个问题困扰了我很长时间,一度使用虚拟机进行项目的编译,今天突然对比了虚拟机里面的系统环境变量的设置,发现确实不一样:
WIN10虚拟机中的环境变量:
主系统中的环境变量:
我也想将主系统中的环境变量设置成虚拟机中所显示的,发现在Microsoft Visual Studio
的下一级目录Shared
目录中并不存在14.0
的文件夹,也就没有相关脚本了。由于虚拟机中安装全部是在C盘,而且几乎所有功能都安装了,所以猜测才会有这样的目录。而主系统中很多功能是不在C盘安装的,可能会遗漏某些功能。
所以从环境变量出发并没有成功解决问题,但是也可能是解决问题的必要条件之一,就是你的系统变量中要有上图所示的路径。
1.2 程序的修复
我考虑可能是有些功能没有正确安装,所以利用Visual Studio Installer
进行修复。
首先打开Visual Studio Installer
,应该通过搜索就可以找到:
然后点击更多中的修改:
点击单个组件,你可以找到与CMake
有关的两个选项,全部勾选:
然后点击修改重试CMake
后我还是发现同样的错误,但这也是解决问题的必要条件之一,所以一定要确认安装了上述两个组件。
2. 成功解决
最后我通过反复的修改、修复软件,发现还缺少了工作负载中的其他工具集Visaul Studio 扩展开发
:
然后修改后重启,再CMake
就不会出现找不到编译器的问题了。
3. 总结
上述思路最后一步非常关键,但也不能说前面的环境变量和单个组件没有起到效果,所以读者应该齐头并进的修改,最后绝对可以解决问题,而不是从新安装软件以及重装系统。
关注我,每天一个小技巧!!