解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题

使用cmake编译生成VS2015(vc14)工程文件时暴错"The C compiler identification is unknown The CXX compiler identification is unknown"


问题描述

起因:在Win10虚拟机中使用cmake编译时出现上述错误:

  首先,我们根据打印的错误信息,很明显的知道,cmake在编译生成VS2015的工程文件的时候,并没有找到相关VC的编译器,于是,我尝试采用最为原始暴力的方式,既然Cmake找不到VC编译器,我就选择直接在Win10虚拟机里搭一个VC环境,然后把相关编译器位置配进系统环境变量,于是我直接使用MinGW安装gcc和g++环境,并配置好环境变量如下:
解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第1张图片
验证gcc和g++环境都已配好:
解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第2张图片
但是再次使用Cmake进行编译生成文件时,依旧暴上述错误,通过查阅资料,发现VS2015在默认安装的时候并不会安装VC环境,于是我采用第二种方式,直接使用VS2015安装VC环境,流程如下:

  1. 打开VS2015:
    解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第3张图片
  2. 选择安装通用的VC环境:

解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第4张图片

  1. 开始安装:
    解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第5张图片
    解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第6张图片

  2. 安装出现安装包丢失和损坏问题,此时主要有两种解决方案,一是通过搭梯子连外网从Internet下载包,选择第一个选项即可;第二种则是选择第三个选项,就是通过原来安装VS2015时的安装包文件来进行离线下载安装(因为在下载VS安装包的时候,里面会有一个packages文件夹,如下图所示可供我们离线安装):

解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第7张图片
解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第8张图片

  1. 笔者采用的是第二种解决方案,选择好安装包的位置,安装即可:
    解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第9张图片
    解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第10张图片
  2. 安装完成后,再次点击新建项目出现以下界面,安装完成.
    解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第11张图片

尾声:

  通过上述搭建,我们已经完成了VS2015中的VC环境搭建,再次进入Cmake软件,先清除一下缓存(Delete Cache),再次进行VS2015工程文件的生成,不在暴错,生成成功,问题成功解决。
解决用cmake编译时暴错“The C compiler identification is unknown The CXX compiler identification is unknown“问题_第12张图片

微语:所有激励的话,配上实际行动才有意义,人需朝前走哭才会往后退,路虽远行则将至,事虽难做比成。

你可能感兴趣的:(bug日常,Tango,Controls,c++,源码软件,程序人生,经验分享,visual,studio)