首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用CMAKE从命令行构建x86和/或x64?

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

Stack Overflow用户
提问于 2015-02-06 01:22:42
回答 3查看 122.8K关注 0票数 93

让cmake使用Visual Studio在Windows上构建x86的一种方法如下:

  1. 启动x86
  2. 的命令提示符运行cmake: cmake

让cmake使用Visual Studio在Windows上构建x64的一种方法如下:

  1. 启动x64
  2. 的命令提示符运行cmake: cmake

使用Cmake,我如何编译其中一个或两个架构?(类似于Visual Studio如何在IDE中执行此操作)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-07 00:59:10

使用CMake无法做到这一点。您必须生成两个单独的构建文件夹。一个用于x86 NMake内部版本,一个用于x64 NMake内部版本。您也不能使用CMake生成涵盖两种架构的单个Visual Studio项目。

若要从命令行为32位和64位生成Visual Studio项目而不启动Visual Studio命令提示符,请使用常规Visual Studio生成器。

对于CMake 3.13或更高版本,请运行以下命令:

代码语言:javascript
运行
复制
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

对于早期版本的CMake,请运行以下命令:

代码语言:javascript
运行
复制
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选项指定构建配置。

票数 168
EN

Stack Overflow用户

发布于 2018-10-17 09:21:56

尝试使用CMAKE_GENERATOR_PLATFORM

例如:

代码语言:javascript
运行
复制
// x86
cmake -DCMAKE_GENERATOR_PLATFORM=x86 . 

// x64
cmake -DCMAKE_GENERATOR_PLATFORM=x64 . 
票数 66
EN

Stack Overflow用户

发布于 2019-10-25 04:28:53

除了CMAKE_GENERATOR_PLATFORM变量之外,还有-A开关

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
  -A <platform-name>           = Specify platform name if supported by
                                 generator.
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28350214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档