CMAKE_GENERATOR_TOOLSET
的一般用法,但应在工具链文件中使用,而不是在CMakeLists.txt中使用。
我认为如果在调用用户指定的本地构建系统工具集名称。
某些CMake生成器支持指定一个工具集名称以供本地构建系统选择编译器。如果用户指定了工具集名称(例如通过cmake -T选项),则该值将在此变量中可用。
该变量的值不应由项目代码修改。由CMAKE_TOOLCHAIN_FILE变量指定的工具链文件可以初始化CMAKE_GENERATOR_TOOLSET。一旦给定的构建树已经使用特定的值对该变量进行了初始化,更改该值的行为是未定义的。
project
之前设置它,则理论上仍然可以工作,尽管这显然不是使用它的支持方法,因此兼容性可能会有所不同。
project
之前定义CMAKE_GENERATOR_TOOLSET
是有效的。在我的情况下,设置为来自VS2017的v120_xp。 - Neal Kruisset(CMAKE_GENERATOR_TOOLSET "$(DefaultPlatformToolset)")
就像魔法一样奏效了。谢谢! - haidahaida