boost庫編譯引數小結

2021-07-01 21:49:55 字數 1835 閱讀 8703

32位編譯:

從開始選單啟動visual studio 2013的vs2013 命令列,進入boost所在目錄,執行bootstrap.bat

編譯命令(例):

bjam.exe stage --toolset=msvc-12.0 --without-math --stagedir="vc12_x86" link=static runtime-link=shared threading=multi debug release

toolset:指定編譯器,可選的如borland、gcc、msvc(vc6)、msvc-10.0(vs2010)(vs2008 : msvc-9.0,vs2010 : msvc-10.0, vs2012、vs2013是msvc-12.0)

stagedir:表示編譯生成檔案的路徑。build-dir:編譯生成的中間檔案的路徑。這個本人這裡沒用到,預設就在根目錄(d:\boost\boost_1_57_0)下,目錄名為bin.v2(刪掉),等編譯完成後可將這個目錄全部刪除(沒用了),所以不需要去設定。

without/with:選擇不編譯/編譯哪些庫。

address-model:要有address-model=64屬性,如果沒有這個屬性的話,會預設生成32位的平台庫,加入這個選項才能生成64位的dll。

threading:單/多執行緒編譯。一般都寫多執行緒程式,當然要指定multi方式了;如果需要編寫單執行緒程式,那麼還需要編譯單執行緒庫,可以使用single方式。

link:靜態庫版link=shared,動態庫link=shared

runtime-link:動態/靜態鏈結c/c++執行時庫。同樣有shared和static兩種方式,這樣runtime-link和link一共可以產生4種組合方式,各人可以根據自己的需要選擇編譯。一般link只選static的話,只需要編譯2種組合即可,即link=static runtime-link=shared和link=static runtime-link=static。

debug/release:編譯debug/release版本。一般都是程式的debug版本對應庫的debug版本,所以兩個都編譯。

64位編譯:

從開始選單啟動visual studio 2013的vs2013 x64相容工具命令列,然後轉到boost根資料夾,執行bootstrap.bat生成x64版的bjam.exe。

在編譯命令中加入address-model=64屬性

link=static runtime-link=static 得到 libboost***xx.lib

link=shared runtime-link=shared 得到 boost***x.lib 和 boost***x.dll

由以上的資料夾層次結構基本就可以得出結論:

1、以「lib」開頭的是「link-static」版本的,而直接以「boost」開頭的是「link-shared」版本的。

2、有「d」的為debug版本,沒有的則是release版本。

3、有「s」的為「runtime-link-static」版本,沒有的則是「runtime-link-shared」版本。

4、有「mt」的為「threading-multi」版本,沒有的則是「threading-single」版本。

本文參考:vs2013 boost庫編譯小結

boost庫交叉編譯

1.環境 linux系統 ubuntu 14.04 編譯工具 arm fsl linux gnueabi gcc 3.編譯 1 解壓,cd 到目錄 show libraries可檢視所有庫,如下 使用 without libraries 逗號隔開去掉不想編譯的庫,prefix 指定編譯後的安裝路徑 ...

交叉編譯boost庫

1.確保arm編譯成功安裝,並配置好環境變數。2.解壓boost壓縮包 3.進入目錄執行.bootstrap.sh,此時形成bjam檔案和project config.jam using gcc arm linux gnueabihf gcc 注意是雙冒號 5.執行.bjam stage,ok大功告...

boost 編譯 thread asio 等庫

2.將bjam.exe放在c boost 1 46 1目錄下 3.編譯thread庫 bjam.exe stage with thread toolset msvc runtime link static 編譯asio庫 bjam.exe stage with system toolset msvc...