`
aigo
  • 浏览: 2635087 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

cmake构建时指定编译器架构(x86 or x64)

阅读更多

Windows

vs2015 x64编译器为例,cmake命令如下:

cmake -G "Visual Studio 14 Win64" path\to\source\dir

去掉Win64,就是32bit:

cmake -G "Visual Studio 14" path\to\source\dir

 

另外一种等价方式,用命令行参数-A来指定架构(x64或者ARM):

cmake -A x64 path\to\source\dir

更多参考:

https://cmake.org/cmake/help/v3.1/manual/cmake-generators.7.html#ide-build-tool-generators

 

windows下如果用了cmake -G"Visual Studio 14"命令,则cmake会给你生成Visual Studio工程文件相关的文件,比如:Project.sln,这时要编译生成必须用msbuild命令,比如:

msbuild Project.sln

完整步骤是:

cmake -G "Visual Studio 14 Win64" path\to\source\dir
msbuild Project.sln

 

windows nmake

windows还提供了一种构建命令:nmake。使用命令如下:

cmake -G "NMake Makefiles" path\to\source\dir
nmake

如果要为nmake指定x64/x86,还不清楚cmake有没相关参数设置,目前我知道的方法如下,

以vs2015为例,打开cmd,定位到Microsoft Visual Studio 14.0\VC\目录下,然后执行命令:

vcvarsall.bat x64

如果要32位,就执行:vcvarsall.bat x86。

执行完后再跳转到要构建的工程目录下,接着执行:cmake -G"NMake Makefiles" path\to\source\dir,以及:nmake。这样生成出来的程序就是x86或者x64版本。

 

 

Linux

设置CFLAGS(或者CXXFLAGS)为-m32或者-m64,例如:

export CFLAGS=-m32

 

 

Mac OSX

32 bit

cmake -DCMAKE_OSX_ARCHITECTURES=i386 /path/to/source/dir

 

64 bit

cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 /path/to/source/dir will compile

 

96-bit universal

cmake "-DCMAKE_OSX_ARCHITECTURES=x86_64;i386" /path/to/source/dir

 

参考:

http://stackoverflow.com/questions/5334095/cmake-multiarchitecture-compilation

 

分享到:
评论

相关推荐

    cmake-3.16.0-Linux-x86-64.tar.gz

    在这个特定的压缩包“cmake-3.16.0-Linux-x86_64.tar.gz”中,我们看到的是CMake的预编译版本,适用于Linux系统,且针对x86_64架构。这意味着它包含了一个已经编译好的CMake二进制发行版,用户可以直接安装在64位的...

    cmake-3.18.0-Linux-x86_64.tar.gz

    CMake是一个跨平台的开源构建系统,用于管理软件构建过程。...对于使用CMake-3.18.0-Linux-x86_64的开发者来说,他们可以利用这一版本的特性来优化其项目的构建流程,确保代码在不同环境中的一致性和可靠性。

    cmake-3.20.1-windows-x86_64.zip

    总结起来,"cmake-3.20.1-windows-x86_64.zip"是一个适用于Windows 64位系统的CMake版本,它提供了构建和管理软件项目的能力,特别是对于需要与Visual Studio和像CLAPACK这样的数学库配合使用的项目。通过CMake,...

    cmake-3.10.2-Linux-x86_64.tar.gz

    对于Linux x86_64架构,这意味着这个CMake版本是为64位系统设计的,可以处理64位的库和程序。 使用CMake构建项目通常涉及以下步骤: 1. **配置**:运行`cmake`命令来解析`CMakeLists.txt`,并生成对应平台的构建...

    cmake-3.14.0-Linux-x86_64

    CMake是一款跨平台的自动化构建系统,用于管理软件构建过程。它通过简洁的配置语言...总的来说,"cmake-3.14.0-Linux-x86_64"是一个对于Linux开发者非常实用的工具,尤其是对于需要处理多平台构建问题的项目。

    cmake-3.21.0-windows-x86_64.zip

    标题"cmake-3.21.0-windows-x86_64.zip"表明这是一个针对Windows x86_64架构的CMake版本3.21.0的压缩包。这个版本包含了在Windows环境下运行和配置CMake所需的所有文件,包括可执行文件、库文件、头文件和可能的文档...

    cmake-3.3.1-Linux-x86

    它使用简单的语法来描述项目结构,然后生成针对不同编译器和构建系统的构建文件。在这个特定的案例中,我们关注的是"Cmake-3.3.1-Linux-x86"版本,这是一个32位的CMake版本,适用于Linux操作系统。 CMake的3.3.1...

    cmake-3.17.2-Linux-x86_64.tar.gz

    这个"cmake-3.17.2-Linux-x86_64.tar.gz"文件是CMake 3.17.2版本针对Linux x86_64架构的预编译二进制发行版。 在下载这个文件后,首先需要将其解压。`tar.gz`文件是Linux系统中常见的归档格式,结合了`tar`(打包)...

    Mac10.15-cmake-3.17.1-Darwin-x86_64.dmg.zip

    这个压缩包“Mac10.15-cmake-3.17.1-Darwin-x86_64.dmg.zip”包含了适用于Mac OS 10.15(Catalina)的CMake 3.17.1版本,该版本是为x86架构的64位(x86_64)处理器设计的。Dmg文件是苹果操作系统中常见的安装包格式...

    cmake-3.14.5-Linux-x86_64.tar.gz

    总之,CMake-3.14.5-Linux-x86_64是一个用于64位Linux系统的CMake版本,它为软件构建提供了一种强大、灵活的方法,尤其是当项目有复杂的构建需求或需要跨平台兼容性时。同时,它也是安装和更新像GCC这样依赖于构建...

    CMake 3.8 x86/x64

    CMake 3.8是该工具的一个版本,它支持32位(x86)和64位(x64)架构,这使得开发者能够在不同平台上编译和构建项目。这个压缩包包含两个子目录,分别对应x86和x64,意味着用户可以根据自己的操作系统架构选择合适的...

    cmake-3.19.1 x64/x86 源自官网,官网下载

    标题中的"cmake-3.19.1 x64/x86"表明这是CMake的一个特定版本,3.19.1,适用于x86(32位)和x64(64位)架构的计算机。这个版本可能包含了针对不同平台的编译优化,以及修复了先前版本中的一些已知问题和新增功能。 ...

    cmake-3.16.0-Linux-x86_64.tar.gz

    `cmake-3.16.0-Linux-x86_64.tar.gz` 是CMake的一个预编译版本,针对Linux平台的x86_64架构。这个压缩包包含了CMake的所有可执行文件和库,使得用户无需自行编译源代码即可直接使用。这种预编译的二进制分发方式简化...

    cmake-3.21.0-windows-x86_64.msi

    cmake-3.21.0-windows-x86_64.msi

    cmake-3.9.1-linux-x86_64.tar.gz

    在本案例中,我们讨论的是"cmake-3.9.1-linux-x86_64.tar.gz",这是一个针对Linux x86_64架构的CMake版本3.9.1的打包文件,适用于CentOS这样的Linux发行版。 在CentOS中安装CMake通常涉及以下步骤: 1. **解压文件...

    CMake编译器3.25.0 window 64位

    在标题中提到的"CMake编译器3.25.0 window 64位",实际上CMake并非一个编译器,而是一个构建系统。这个版本是针对Windows 64位操作系统的,确保在64位Windows环境下能够顺利运行和构建项目。CMake的版本更新通常会...

    cmake-3.12.0-Linux-x86_64.tar.gz

    总的来说,"cmake-3.12.0-Linux-x86_64.tar.gz"是一个方便的预编译版本,为Linux用户提供了一个快速、一致的方式来管理和构建软件项目,无论项目多么复杂,或者跨平台的需求有多么广泛。通过熟练掌握CMake,开发者...

    cmake-3.27.5-windows-x86-64 cmake 64位安装包

    总结一下,CMake 3.27.5-windows-x86_64是一个用于Windows 64位系统的CMake版本,它为C++、Android等开发提供了强大的跨平台构建管理。通过编写CMakeLists.txt文件,开发者可以定义项目结构、编译选项和依赖关系,...

    cmake-3.6.2-Linux-x86_64.tar.gz

    CMake is a cross-platform, open-source build system generator. For full documentation visit the CMake Home Page and the CMake Documentation Page. The CMake Community Wiki also references useful guides...

    cmake-3.8.2-win64-x64/cmake-3.8.2-win32-x86/cmake-3.12.3-win64-x64

    - `cmake-3.12.3-win64-x64.msi`:这是CMake 3.12.3的64位Windows安装程序,使用Microsoft Installer (MSI)技术,适用于64位Windows系统。 - `cmake-3.8.2-win64-x64.msi`:同理,这是CMake 3.8.2的64位Windows...

Global site tag (gtag.js) - Google Analytics