如何使用CMAKE从命令行在Windows上构建x86和/或x64?
让cmake使用Visual Studio在Windows上构建x86的一种方法如下:如何使用CMAKE从命令行在Windows上构建x86和/或x64?,c,visual-studio,cmake,cross-compiling,x86-64,C,Visual Studio,Cmake,Cross Compiling,X86 64,让cmake使用Visual Studio在Windows上构建x86的一种方法如下: 启动x86的Visual Studio命令提示符 运行cmake:cmake-G“NMake Makefiles”\path\u to\u source\ 恩马克 让cmake使用Visual Studio在Windows上构建x64的一种方法如下: 启动x64的Visual Studio命令提示符 运行cmake:cmake-G“NMake Makefiles”\path\u to\u source\ 恩马
cmake-G“NMake Makefiles”\path\u to\u source\
cmake-G“NMake Makefiles”\path\u to\u source\
使用Cmake,如何编译其中一种或两种体系结构?(就像VisualStudio在IDE中是如何实现的)这不能通过CMake实现。您必须生成两个单独的生成文件夹。一个用于x86 NMake生成,一个用于x64 NMake生成。您也不能使用CMake生成一个涵盖两种体系结构的Visual Studio项目 要在不启动Visual Studio命令提示符的情况下从32位和64位的命令行生成Visual Studio项目,请使用常规的Visual Studio生成器 对于CMake 3.13或更新版本,请运行以下命令:
cmake -G "Visual Studio 16 2019" -A Win32 -S \path_to_source\ -B "build32"
cmake -G "Visual Studio 16 2019" -A x64 -S \path_to_source\ -B "build64"
cmake --build build32 --config Release
cmake --build build64 --config Release
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
对于CMake的早期版本,请运行以下命令:
cmake -G "Visual Studio 16 2019" -A Win32 -S \path_to_source\ -B "build32"
cmake -G "Visual Studio 16 2019" -A x64 -S \path_to_source\ -B "build64"
cmake --build build32 --config Release
cmake --build build64 --config Release
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
可以从命令行使用选项
--build
和build目录生成使用其中一个Visual Studio生成器的CMake生成的项目。--config
选项指定生成配置。尝试使用CMAKE\u生成器\u平台
e、 g
除了
CMAKE\u GENERATOR\u PLATFORM
变量外,还有-A
开关
cmake -G "Visual Studio 16 2019" -A Win32
cmake -G "Visual Studio 16 2019" -A x64
-A=指定平台名称(如果受支持)
发电机。
有没有一种方法可以使用一个命令提示符+两个构建目录,使两种体系结构都不必退出并启动x86提示符,然后启动x64提示符?这里也是,但似乎有一个解决方案:(而且不需要关闭提示符,使用nmake
)简单但可移植!