如何强制cmake使用Visual Studio 2015(v140)平台工具集?

时间:2019-03-25 05:58:47

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

我同时安装了VS2015和VS2017。对于cmake项目,我想使用cmake生成vs2015项目(平台工具集v140)。

我打开Developer Command Prompt for VS2015,然后在那里运行cmake。 但是从输出以及结果sln文件中,我看到它仍在使用vs2017(v141)平台工具集。

  

-构建于:Visual Studio 15 2017   -C编译器标识为MSVC 19.16.27027.1   -CXX编译器标识为MSVC 19.16.27027.1   -检查工作的C编译器:C:/程序文件(x86)/ Microsoft Visual Studio / 2017 / Professional / VC / Tools / MSVC / 14.16.27023 / bin / Hostx86 / x86 / cl.exe   -检查工作的C编译器:C:/ Program Files(x86)/ Microsoft Visual Studio / 2017 / Professional / VC / Tools / MSVC / 14.16.27023 / bin / Hostx86 / x86 / cl.exe-正常

请在此处查看屏幕截图: cmake vs2015

那么,如何强制cmake使用vs2015?

2 个答案:

答案 0 :(得分:1)

-T option的用途是

  

-T如果生成器支持,则指定工具集名称。

     

某些CMake生成器支持将工具集名称指定给本机   构建系统以选择编译器。参见CMAKE_GENERATOR_TOOLSET   变量。仅特定生成器支持此功能:

     

VS 2010及更高版本的Visual Studio生成器Xcode生成器   Xcode 3.0及更高版本请参阅本机生成系统文档   工具集名称。

cmake -G "Visual Studio 15 2017" -T v140

(请注意,Visual Studio的生成器名称在CMake 3.13和3.14之间更改)

这将使用2015编译器和工具链生成Visual Studio 2017解决方案。因此,打开解决方案将打开VS 2017,但代码将与2015工具链一起编译。

如果要使用2015 IDE,请使用2015生成器,并忽略-T参数。

请注意,您也可以在VS2017安装过程中安装v140工具链,因此,如果您不打算使用较旧的IDE,则实际上没有理由保留VS2015安装。

答案 1 :(得分:0)

cmake -G "Visual Studio 14 2015"

确保已Windows SDK version 10.0.10586.0

要查看生成器列表,请运行cmake --help