如何使用vs2013的NMake在cmake中设置v120xp

时间:2014-09-09 08:40:43

标签: visual-studio-2013 cmake windows-xp nmake

我使用 win7-32​​bit + cmake + vs2013' NMake .exe来构建exe,我需要exe能够在WinXP上运行,我知道如何使用vs2013 IDE(将Platform-Toolset设置为v120xp),但我没有使用IDE,我只是使用它的NMake。这就是我生成项目文件和exe的方法:

build> cmake -G "NMake Makefiles" ..
build> nmake

问题1 :在CMakeLists.txt中,如何设置它使用v120xp?

问题2 :是否有必要使用v120xp构建所有静态库?或者只是exe?

1 个答案:

答案 0 :(得分:7)

尝试设置CMAKE_GENERATOR_TOOLSET。它允许为支持它的Genertors选择工具集。支持工具集的生成器是Visual Studio和XCode。

您对CMake的调用应如下所示:

cmake -G "NMake Makefiles" -DCMAKE_GENERATOR_TOOLSET=v120_xp ..

更新1 :正如评论中指出的那样,NMake不支持工具集

Thes解决方案是指定

SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE,5.01")

用于控制台应用程序,或

SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,5.01")

用于Windows应用程序。