cmake 指定編譯器

vs2015 x64編譯器為例,cmake命令如下:

Xml代碼? 收藏代碼

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

去掉Win64,就是32bit:

Xml代碼? 收藏代碼

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


另外一種等價(jià)方式,用命令行參數(shù)-A來指定架構(gòu)(x64或者ARM):

Xml代碼? 收藏代碼

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會(huì)給你生成Visual Studio工程文件相關(guān)的文件,比如:Project.sln,這時(shí)要編譯生成必須用msbuild命令,比如:

Xml代碼? 收藏代碼

msbuild Project.sln?

完整步驟是:

Xml代碼? 收藏代碼

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

msbuild Project.sln?


windows nmake

windows還提供了一種構(gòu)建命令:nmake。使用命令如下:

Xml代碼? 收藏代碼

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

nmake?

如果要為nmake指定x64/x86,還不清楚cmake有沒相關(guān)參數(shù)設(shè)置,目前我知道的方法如下,

以vs2015為例,打開cmd,定位到Microsoft Visual Studio 14.0\VC\目錄下,然后執(zhí)行命令:

Xml代碼? 收藏代碼

vcvarsall.bat x64?

如果要32位,就執(zhí)行:vcvarsall.bat x86。

執(zhí)行完后再跳轉(zhuǎn)到要構(gòu)建的工程目錄下,接著執(zhí)行:cmake -G"NMake Makefiles" path\to\source\dir,以及:nmake。這樣生成出來的程序就是x86或者x64版本。



Linux

設(shè)置CFLAGS(或者CXXFLAGS)為-m32或者-m64,例如:

Xml代碼? 收藏代碼

export CFLAGS=-m32?



Mac OSX

32 bit

Xml代碼? 收藏代碼

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


64 bit

Xml代碼? 收藏代碼

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


96-bit universal

Xml代碼? 收藏代碼

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


參考:

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • CMake學(xué)習(xí) 本篇分享一下有關(guān)CMake的一些學(xué)習(xí)心得以及相關(guān)使用。 本文目錄如下: [1、CMake介紹] [...
    AlphaGL閱讀 12,431評(píng)論 11 79
  • CMake 全稱“cross platform make”,是開源、跨平臺(tái)的自動(dòng)化構(gòu)建系統(tǒng)。CMake 由 Kit...
    神齊閱讀 4,292評(píng)論 0 6
  • 轉(zhuǎn)載自我的博客:CMake 簡(jiǎn)介和 CMake 模板。 如果你用 Linux 操作系統(tǒng),使用 cmake 會(huì)簡(jiǎn)單很...
    district10閱讀 11,690評(píng)論 3 27
  • 注:首發(fā)地址 1. 前言 當(dāng)在做 Android NDK 開發(fā)時(shí),如果不熟悉用 CMake 來構(gòu)建,讀不懂 CMa...
    cfanr閱讀 24,778評(píng)論 1 53
  • 前言 最近做一些字符識(shí)別的事情,想試一下opencv_contrib里的Text(自然場(chǎng)景圖像中的文本檢測(cè)與識(shí)別)...
    tinyland閱讀 9,529評(píng)論 5 18

友情鏈接更多精彩內(nèi)容