如何使用CMAKE从命令行在Windows上构建x86和/或x64?

使用Visual Studio让cmake在Windows上构建x86的一种方法是这样的:

  1. 启动x86的Visual Studio命令提示符
  2. 运行cmake: cmake -G "NMake Makefiles" \path_to_source\
  3. NMAKE

使用Visual Studio让cmake在Windows上构建x64的一种方法是这样的:

  1. 启动x64的Visual Studio命令提示符
  2. 运行cmake: cmake -G "NMake Makefiles" \path_to_source\
  3. NMAKE

使用Cmake,我如何编译其中一个或两个架构? (就像Visual Studio在IDE中的表现一样)

这不能用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后跟build目录从命令行构建使用其中一个Visual Studio生成器的CMake生成的项目。 --config选项指定构建配置。

尝试使用CMAKE_GENERATOR_PLATFORM

例如

 // x86 cmake -DCMAKE_GENERATOR_PLATFORM=x86 . // x64 cmake -DCMAKE_GENERATOR_PLATFORM=x64 .