VS2015/VS2017:C compiler identification is unknown

问题

最近在使用VS2015和VS2017时,都遇到了使用CMake发生如下错误:

C compiler identification is unknown
The CXX compiler identification is unknown

首先声明,在使用CMake之前都已经使用VS2015/VS2017编写过简单的C/C++程序,测试证明VS已经安装成功。
另外也不存在在CMake时选择了错误的Generator。

原因

排除以上两种情况后,网上的大部分教程都无法参考。
经过大量的测试,发现问题原因如下:
自VS2015之后,VS的安装包日益增大。导致在安装时,并不需要也不可能安装所有工具包,因此需要手动安装VS,根据需要的工具包。由于只使用C/C++,我只选择性安装了标题带有C/C++相关的功能包。虽然在使用VS工具编译C/C++时,并没有什么问题,但是在使用CMake时可能会遭遇缺少一些工具包而导致问题。
另一方面是,VS2017是非常新的编译器,请务必下载最新的CMake才能保证正常工作。

解决方案

VS2015
一定注意安装Win10 SDK,如下图:
这里写图片描述

这里写图片描述
VS2017
1. 下载最新的CMake
2. 安装必须的组件,如下图
VS2015/VS2017:C compiler identification is unknown_第1张图片
VS2015/VS2017:C compiler identification is unknown_第2张图片
保证Win10 SDK被选中,如下图:
VS2015/VS2017:C compiler identification is unknown_第3张图片

你可能感兴趣的:(CMake)