boost 庫的編譯與鏈結

2021-08-11 18:05:44 字數 787 閱讀 2669

最近在看專案框架的底層**的過程中 發現了大量的**都是使用boost進行開發 ,boost庫由c++標準委員會組織的成員所發起的,如果之前有使用過stl的人來說 那麼boost庫的學習會相對簡多。

boost庫中有部分庫我們是可以直接使用的 不需要進行編譯 而有些庫的使用是需要編譯的 那麼我們如何知道那些庫需要編譯 那些庫不需要編譯 以及編譯成靜態庫還是動態庫 庫的版本 庫所在的目錄等等

boost庫為我們提供了兩個內建的編譯工具 bjam.exe 和bz.exe  執行bootstrap.bat 檔案來產生這兩個工具 bjam相當於以前用於boost編譯的工具 推薦使用bz.exe來編譯

bz --help 用於檢視bz命令的詳細資訊

bz --show-libraries 檢視需要編譯的庫

bz --toolset=msvc-9.0 stage 編譯器以及版本 生成庫預設所在目錄

bz --stagedir=dirname 修改生成庫所在的目錄

variant = debug| release

--with-*** 需要編譯的庫

link=static|share

boost庫名稱規範

boost_***(庫名稱)_vc90(編譯器版本)-mt(多執行緒方式)-x.x.x(boost的版本).lib|dll|a|so

boost庫專案

標頭檔案的包含與庫的鏈結

boost庫的不足

日誌檔案(專案中使用的是logc4plus)

資料庫訪問支援(封裝了oci)

xml檔案傳輸(protobuf)

boost庫的交叉編譯

1.首先執行boost解壓目錄下的 bootstrap.sh 2.修改生成的project config.jam檔案 修改 using gcc opt poky linux gcc sysroot opt poky 2.4.2 sysroots aarch64 poky linux 注 1.gcc ...

筆記 boost庫的編譯

公司用的是boost 1.48 和 1.58 下面以1.58為例 python 需要用到 boost.python 提前安裝好合適版本的 python 我的 python 2.7.15 解壓 確定位置即可 我的 h boost 1 58 0 其他的根據各個工程的需要。開始 所有應用 visual s...

boost庫交叉編譯

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