我同时安装了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?
答案 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