cmake命令列生成32位和64位專案

2022-06-23 01:51:16 字數 2313 閱讀 8186

咱們常用命令【cmake ..】在build目錄下配置生成專案和解決方案。 其實,這個命令還有其他用法。

指定cmakelists.txt中的變數值。比如 , fmt 庫 的cmakelists.txt中有乙個變數 【build_shared_libs】,可以在命令列指定其值:

cmake -dbuild_shared_libs=true ..
對比可知,多了中間指定變數的命令, 其他沒有變化。

使用命令: cmake -g 可知當前cmake支援的編譯器

1   visual studio 16 2019        = generates visual studio 2019 project files.

2 use -a option to specify architecture.

3 visual studio 15 2017 [arch] = generates visual studio 2017 project files.

4 optional [arch] can be "win64" or "arm".

5 visual studio 14 2015 [arch] = generates visual studio 2015 project files.

6 optional [arch] can be "win64" or "arm".

7 visual studio 12 2013 [arch] = generates visual studio 2013 project files.

8 optional [arch] can be "win64" or "arm".

9 visual studio 11 2012 [arch] = generates visual studio 2012 project files.

10 optional [arch] can be "win64" or "arm".

11 visual studio 10 2010 [arch] = generates visual studio 2010 project files.

12 optional [arch] can be "win64" or "ia64".

13 visual studio 9 2008 [arch] = generates visual studio 2008 project files.

14 optional [arch] can be "win64" or "ia64".

命令列,需要給cmake 傳遞引數 -g   指定編譯器的乙個例子如下,這裡,指定vs2017為例
cmake -g "visual studio 15 2017 " ..
該命令將預設生成32位程式

注意: 【..】前面有空格

-【擴充套件】

linux或者unix,我經常使用clang(++) 構建我的程式,通常會在cmakelists.txt檔案最前面project 新增下面的兩行,且一定要放在project之前

set(cmake_c_compiler /usr/bin/clang)

set(cmake_cxx_compiler /usr/bin/clang++)

上面顯示vs的版本已經說明了引數格式: visual studio 9 2008 [arch] 。 這裡的 [arch] 就是需要指定的平台目標。

乙個例子幫你理解, 還是以vs2017為例,命令如下:

cmake -g "visual studio 15 2017  win64" ..
對比 中的命令多了 【win64】

習慣上,我更喜歡在和top目錄下新建build 目錄, 將輸出的檔案放到這裡。【cmake ..】 命令中的【..】其實就是指定 top目錄下的cmakelists.txt檔案。

原型:

cmake to/path/cmake_lists_txt_dir
其中【 to/path/cmake_lists_txt_dir 】則指向的是cmakelists.txt所在目錄。

C VS預生成事件命令列 和 生成後事件命令列

巨集 說明 configurationname 當前專案配置的名稱 例如,debug any cpu outdir 輸出檔案目錄的路徑,相對於專案目錄。這解析為 輸出目錄 屬性的值。它包括尾部的反斜槓 devenvdir visual studio 2005 的安裝目錄 定義為驅動器 路徑 包括尾部...

git 命令列 和 cmd命令列

設定全域性使用者名稱 git config global user.name 區域性把global換成local 檢視全域性 git config global list 檢視git的狀態 git status 初始化 git into 名字 新增乙個檔案 git add readme.txt 刪除...

vue命令列生成專案

vue.js 提供乙個官方的命令列介面工具,用於快速搭建大型單頁面應用程式。能夠為現代前端開發的工作流程,帶來持久強力的基礎架構。只需幾分鐘,就可以建立並執行乙個帶有 熱過載 儲存時 檢查以及可直接用於生產環境的構建配置 的專案 安裝 vue cli npm install global vue c...