Boost庫簡介及編譯

2021-07-30 15:39:05 字數 1425 閱讀 9690

boost庫是乙個功能強大的跨平台的開源c++程式庫,boost庫是由c++標準委員會成員之一的beman g.dawes發起倡議並成立boost社群,致力於向c++成員提供免費的,經過同行評審的可移植的c++程式庫。boost庫強調與c++標準庫能夠完美配合,致力於既有的實踐和提供參考實現,使得boost庫非常適合標準化,目前已經有很多boost庫被包含的tr1庫和c++11標準中,還有很多被建議包含到c++17的標準中,因此boost庫又有c++準標準庫之稱。

開啟控制台切換到boost庫目錄,執行bootstrap.bat,庫目錄下就會生成b2.exe,bjam.exe檔案,b2和bjam作用一樣,b2是bjam的公升級版。

輸入b2 –help可以檢視編譯時的一些引數。下面是編譯是乙個典型實現

b2 stage –stagedir=」c:\boost_1_63_0\vc14\x64」 –toolset=msvc-14.0 –without-python –without-mpi –without-graph address-model=64 –build-type=complete –build-dir=」c:\boost_1_63_0\build」

其中stage將編譯好lib和dll檔案輸出到stage目錄下,缺省會在當前目錄下建立stage目錄,通過–stagedir指定stage的具體指代目錄;–toolset表示編譯鏈結使用的工具集這裡msvc-14.0表示vs2015; –without-庫名稱表示不編譯那個庫,這裡–without-python表示不編譯python庫,–without-mpi表示不編譯mpi(message passing inte***ce library), –without-graph表示不編譯影象庫, python庫需要安裝python開發環境,mpi庫需要mpich的支援; address-model表示編譯多少位的,這裡編譯64位的庫,如果不設定表示32位程式;–build-type表示編譯時設定的一些預定定義的變數,有minimal和complete兩種,minimal是預設值表示編譯靜態的多執行緒的debug版和release版的庫,並使用共享的鏈結方式,complete表示所有可能的預編譯選項;–build-dir表示編譯時中間檔案的輸出路徑,如果不設定就會生成到當前目錄下的b2目錄下。

開啟qt creater新建乙個控制台工程boosttest,在boosttest.pro中新增includepath+=boost檔案源目錄,我這裡是c:/boost_1_63_0/boost

修改main.cpp檔案如下:

#include 

#include

using

namespace boost;

using

namespace

std;

int main(int argc, char* argv)

輸出如下:

0.001 表示timer的最小度量時間為1毫秒

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...