使用 Cmake,在 Windows 平台上如何编译 x86 和 x64 架构?(类似于 Visual Studio 在 IDE 中的操作)
- 打开 Visual Studio x86 命令提示符
- 运行 cmake:
cmake -G "NMake Makefiles" \path_to_source\
- nmake
- 打开 Visual Studio x64 命令提示符
- 运行 cmake:
cmake -G "NMake Makefiles" \path_to_source\
- nmake
使用 Cmake,在 Windows 平台上如何编译 x86 和 x64 架构?(类似于 Visual Studio 在 IDE 中的操作)
cmake -G "NMake Makefiles" \path_to_source\
cmake -G "NMake Makefiles" \path_to_source\
使用CMake无法完成此操作。您需要生成两个单独的构建文件夹,一个用于x86 NMake构建,另一个用于x64 NMake构建。您不能使用CMake生成覆盖两种体系结构的单个Visual Studio项目。
要在命令行上为32位和64位同时构建Visual Studio项目而不启动Visual Studio命令提示符,请使用常规的Visual Studio生成器。
对于CMake 3.13或更高版本,请运行以下命令:
cmake -G "Visual Studio 17 2022" -A Win32 -S \path_to_source\ -B "build32"
cmake -G "Visual Studio 17 2022" -A x64 -S \path_to_source\ -B "build64"
cmake --build build32 --config Release
cmake --build build64 --config Release
对于早期版本的CMake,请运行以下命令:
mkdir build32 & pushd build32
cmake -G "Visual Studio 15 2017" \path_to_source\
popd
mkdir build64 & pushd build64
cmake -G "Visual Studio 15 2017 Win64" \path_to_source\
popd
cmake --build build32 --config Release
cmake --build build64 --config Release
使用Visual Studio生成器之一生成的CMake项目可以通过使用选项--build
及构建目录从命令行构建。选项--config
指定了构建配置。
尝试使用CMAKE_GENERATOR_PLATFORM
。
例如:
// x86
cmake -DCMAKE_GENERATOR_PLATFORM=x86 .
// x64
cmake -DCMAKE_GENERATOR_PLATFORM=x64 .
Win32
和x64
架构。 - MHebes除了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.