Linux平台Boost的編譯方法

2021-07-09 23:05:04 字數 2753 閱讀 5236

本部落格(

linux

平台boost

的編譯方法

boost

的編譯使用的不是已經成為公認標準的

make

,而是專門為

boost

開發的工具

bjam(boost jam)。

本文以boost1.40

為例,在

linux

平台的程式設計環境為

gcc4.4.1

,假設boost

**在/usr/src/

boost_1_40_0

目錄,步驟如下。

1. 獲得bjam 獲得

bjam有3

種方式,如下:

方法1:boost

**上提供了各種平台上預編譯好的

bjam 方法

2:從boost

源**中提供的

bjam

**編譯出可執行程式。 方法

3:通過

bootstrap

程式生成

bjam。

方法1:

# apt-get install bjam方法2

: (1) # cd /usr/src/boost_1_40_0/tools/jam/src

(2) # ./build.sh

編譯完成後:

生成的可執行檔案為 # 

/usr/src/

boost_1_40_0

/tools

/jam

/src

/bin.linuxx86

/bjam

需要將bjam.exe

拷貝到源**所在的目錄

# cp 

bin.linuxx86

/bjam

/usr/src/boost_1_40_0方法3

: (1) # cd /usr/src/boost_1_40_0

(2) # ./

bootstrap.sh

該方法直接在

boost

源**目錄下生成

bjam

檔案。

2.修改

bjam配置

使用bjam

前,需要修改

bjam

的配置檔案。

linux

平台的配置檔案:

/usr/src/boost_1_40_0/tools/

build/v2

/user-config.jam

修改如下。注:筆者在實驗時,不修改貌似也很正常。將43

行的「# using 

gcc;

」前的注釋符號『

#』去掉,表明用到使用

gcc編譯。

如果要使用

stlport

作為其標準庫,將

75行前的『

#』去掉。

3. 完整編譯

boost 對

boost

進行完整編譯,生成所有除錯版、發行版的靜態庫和動態庫。 方法

1:# cd /usr/src

# wget 

# tar --bzip2 -xvf boost_1_40_0.tar.bz2

# cd boost_1_40_0# b

jam --toolset=gcc --build-type=complete stage 或

# ./bjam --build-type=complete --layout=versioned

或# ./

bjam 方法

2:# cd /usr/src/boost_1_40_0/tools/jam

# ./

build_dist.sh

也會完成

linux

平台bjam

和boost

的所有編譯工作,並生成所有除錯版、發行版的靜態庫和動態庫。

但不推薦該方式。

編譯成功後,將在

/usr/src/boost_1_40_0/bin.v2

目錄下生成諸多檔案,包括.a和

.so.1.40.0

檔案,這就是

在linux

平台要使用

boost

需要的,其他的檔案可以刪除。 安裝

# ./bjam install

將生成的庫預設安裝到

/urs/local/lib

目錄。

4 部分編譯

boost

完整編譯

boost

費時費力,且這些庫在開發過程中並不一定全部用到,因此,

bjam

也支援使用者自行選擇要編譯的庫。

在完全編譯的基礎上,使用

--with

或者—without

選擇可以開啟或者關閉某個庫的編譯,例如,僅僅編譯

date_time庫:

# cd /usr/src/

boost_1_40_0

# ./b

jam --toolset=msvc 

--with-date_time --build-type=complete stage

當然,bjam

還有很多其他選項,如指定安裝路徑,指定

debug

或release

等,可參考

bjam

文件或幫助

Linux平台Boost的編譯方法

boost的編譯使用的不是已經成為公認標準的make,而是專門為boost開發的工具bjam boost jam 本文以boost1.40為例,在linux平台的程式設計環境為gcc4.4.1,假設boost 在 usr src boost 1 40 0目錄,步驟如下。獲得bjam有3種方式,如下 ...

Linux平台Boost的編譯方法

boost 的編譯使用的不是已經成為公認標準的 make 而是專門為 boost 開發的工具 bjam boost jam 本文以boost1.40 為例,在 linux 平台的程式設計環境為 gcc4.4.1 假設boost 在 usr src boost 1 40 0 目錄,步驟如下。1.獲得b...

boost 編譯,windows平台

2編譯及安裝boost庫 進入dos環境,利用cd命令進入一中解壓的boost檔案根目錄,輸入bjam toolset gcc prefix c boost install進行編譯,此命令會把編譯後的boost檔案安裝到c boost下 注意 命令列中前後不可以有空格,資料夾名字隨便取,但是乙個資料...