使用Visual Studio让cmake在Windows上构建x86的一种方法是:
cmake -G "NMake Makefiles" \path_to_source\
使用Visual Studio让cmake在Windows上构建x64的一种方法是:
cmake -G "NMake Makefiles" \path_to_source\
使用Cmake,如何编译其中一种或两种架构? (就像Visual Studio在IDE中所做的那样)
答案 0 :(得分:79)
使用CMake无法做到这一点。您必须生成两个单独的构建文件夹。一个用于x86 NMake构建,另一个用于x64 NMake构建。您无法使用CMake生成覆盖这两种体系结构的单个Visual Studio项目。
要在不启动Visual Studio命令提示符的情况下从命令行为32位和64位构建Visual Studio项目,请使用常规Visual Studio生成器:
mkdir build32 & pushd build32
cmake -G "Visual Studio 12 2013" \path_to_source\
popd
mkdir build64 & pushd build64
cmake -G "Visual Studio 12 2013 Win64" \path_to_source\
popd
cmake --build build32 --config Release
cmake --build build64 --config Release
使用选项--build
后跟构建目录,可以从命令行构建使用其中一个Visual Studio生成器的CMake生成的项目。 --config
选项指定构建配置。
答案 1 :(得分:16)
尝试使用CMAKE_GENERATOR_PLATFORM
例如
// x86
cmake -DCMAKE_GENERATOR_PLATFORM=x86 .
// x64
cmake -DCMAKE_GENERATOR_PLATFORM=x64 .
答案 2 :(得分:1)
在CMAKE_GENERATOR_PLATFORM
变量旁边,还有-A
开关
cmake -G "Visual Studio 16 2019" -A Win32
cmake -G "Visual Studio 16 2019" -A x64
https://cmake.org/cmake/help/v3.16/generator/Visual%20Studio%2016%202019.html#platform-selection
-A <platform-name> = Specify platform name if supported by
generator.