CMake:如何指定安装了VS2017的VS2015.3工具集

时间:2017-11-07 09:40:16

标签: c++ visual-studio-2015 compilation cmake visual-studio-2017

我安装了VS2017,同时安装了VS2017(v141)和VS2015.3(v140)工具集。我需要用CMake生成一个解决方案,我希望CMake成为"被欺骗的"好像安装了VS2015,所以我可以使用v140工具集构建项目 我知道这个问题可能与以下内容重复: How cmake specify "Platform Toolset" for a Visual Studio 2015 project?
但它提供的解决方案对我没有帮助 错误消息是:

Selecting Windows SDK version 10.0.14393.0 to target Windows 10.0.15063.
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:18 (project):
  No CMAKE_C_COMPILER could be found.

我尝试安装VS2017和VS2015.3(IDE),但VS2015.3拒绝创建一个简单的控制台程序。
有没有其他方法可以使用v140工具集生成解决方案?
(P.S. Don告诉我,我应该首先使用v141工具集生成并修改Visual Studio中的工具集选项。这会产生很大的不同。)

1 个答案:

答案 0 :(得分:7)

我刚刚运行了一个测试,它适用于我在CMake的GUI(版本3.10.0 RC4)中的以下设置:

enter image description here

然后我得到以下输出:

The CXX compiler identification is MSVC 19.0.24215.1
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Configuring done
Generating done

如果我打开所得到的解决方案,它会 - 正如预期的那样 - 问我:

enter image description here

平台工具集映射

来自Marco Foco: Microsoft Visual C++ version Map

enter image description here

如果那不起作用......

首先请检查二进制输出目录中的CMakeError.log。这个错误可以让你找出错误的原因。

如果这没有帮助,你可以尝试几件事(除了重新安装VS,我认为这不会解决问题):

  1. 其中一个Windows SDK未完全/ correclty安装;从Microsoft的网站重新安装
  2. 尝试授予cmake-gui管理权
  3. 检查PATH环境中是否有带GCC编译器的GNU工具链。
  4. 参考