boost是免費的可移植的c++開源庫,這裡版本選擇1.76.0。
bootstrap.bat
然後執行:
b2.exe install --prefix=d:\boost-1.76.0-windows-x86_64-msvc
boost庫將被安裝到目錄d:\boost-1.76.0-windows-x86_64-msvc
下。
sudo ./bootstrap.sh --prefix=/opt/boost-1.76.0-ubuntu-x64
然後執行(注意:gcc5.4預設是不開啟c++11的,某些依賴c++11特性的**不會生效,部分lib依賴c++11的功能,如果不支援此特性,就不會被編譯。比如fiber
在沒有開啟c++11支援下就不會被編譯。所以需要開啟c++11的支援,gcc5.4下只開啟-std=c++11
是不能編譯fiber
的,使用-std=c++14
或者-std=c++17
可以成功):
sudo ./b2 install
cxxflags
="-std=c++14"
boost庫將被安裝到目錄/opt/boost-1.76.0-ubuntu-x64
下,設定環境變數,編輯/etc/profile
檔案,末尾新增:
export
boost_root
=/opt/boost-1.76.0-ubuntu-x64 # 需要命名為boost_root, 否則cmake時會找不到boost模組
# 執行依賴
export
ld_library_path
=$boost_root/lib:$ld_library_path
# 開發依賴
export
cpath
=$boost_root/include:$cpath
export
library_path
=$boost_root/lib:$library_path
如何構建boost庫呢?大部分情況下,並不需要構建,因為大多數的boost庫都僅使用標頭檔案(.hpp):它們完全由包含模板和內聯函式的標頭檔案組成,不需要單獨編譯庫二進位制檔案,也不需要在鏈結時進行特殊處理。
只有少部分庫才需要單獨構建:
少部分庫有可選的單獨編譯的二進位制檔案:
visual studio需要設定工程屬性:
大部分的windows編譯器和鏈結器有所謂的auto-linking support
。
boost庫標頭檔案中有特殊的**,可以檢測編譯器選項,並使用這些資訊把正確的庫名稱編碼到目標檔案中。鏈結器將從我們所指定的目錄選擇具有該名稱的庫檔案。
how boost auto-linking makes choice
如果不想自動連線,則可以使用boost_all_no_lib
巨集來取消自動連線,然後自行指定依賴庫檔案。
1.76.0庫官方文件說明
筆記 boost庫的編譯
公司用的是boost 1.48 和 1.58 下面以1.58為例 python 需要用到 boost.python 提前安裝好合適版本的 python 我的 python 2.7.15 解壓 確定位置即可 我的 h boost 1 58 0 其他的根據各個工程的需要。開始 所有應用 visual s...
Boost庫學習筆記
timer類 由於精度原因,不適合於精度很高或時間跨度很大的地方。也不能很好的跨平台。呼叫elapsed min 和elapsed max 分別獲取其精度,而且其精度根據平台會有變化。progress timer類繼承與timer類,但是其有乙個析構函式,析構的時候會自動呼叫elapsed 輸出從構...
boost 編譯 安裝
2.解壓到合適目錄,我是在d boost 1 47 0。3.開啟使用boost的vs版本的visual studio 命令提示。我用的是 2010 4.在命令提示中進入cd d boost 1 47 0 tools build v2 5.執行bootstrap.bat 等待片刻。6.將第5步在v2目...