1. 程式人生 > >VS2015/VS2017:C compiler identification is unknown

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. 安裝必須的元件,如下圖
這裡寫圖片描述
這裡寫圖片描述
保證Win10 SDK被選中,如下圖:
這裡寫圖片描述