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. 总结

上述思路最后一步非常关键,但也不能说前面的环境变量和单个组件没有起到效果,所以读者应该齐头并进的修改,最后绝对可以解决问题,而不是从新安装软件以及重装系统。

关注我,每天一个小技巧!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐