溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中如何編譯boost

發(fā)布時(shí)間:2022-01-21 14:10:43 來源:億速云 閱讀:170 作者:柒染 欄目:開發(fā)技術(shù)

今天給大家介紹一下Linux系統(tǒng)中如何編譯boost。文章的內(nèi)容小編覺得不錯(cuò),現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

Linux平臺Boost的編譯方法

Boost就是Boost庫,它是一個(gè)可移植、并且提bai供源代碼的C++庫,而且它作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一。

Boost的編譯使用的不是已經(jīng)成為公認(rèn)標(biāo)準(zhǔn)的make,而是專門為Boost開發(fā)的工具bjam(boost jam)。

以boost1.40為例,在Linux平臺的編程環(huán)境為gcc4.4.1,假設(shè)Boost代碼在/usr/src/boost_1_40_0目錄,步驟如下。

\1. 獲得bjam

獲得bjam有3種方式,如下:

方法1:Boost網(wǎng)站上提供了各種平臺上預(yù)編譯好的bjam可執(zhí)行程序,可直接下載使用。

方法2:從Boost源代碼中提供的bjam代碼編譯出可執(zhí)行程序。

方法3:通過bootstrap程序生成bjam。

方法1:

# apt-get install bjam

方法2:

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

(2) # ./build.sh

編譯完成后:

 生成的可執(zhí)行文件為

 # /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

修改如下。注:筆者在實(shí)驗(yàn)時(shí),不修改貌似也很正常。

將43行的“# using gcc ;”前的注釋符號‘#’去掉,表明用到使用gcc編譯。

如果要使用STLport作為其標(biāo)準(zhǔn)庫,將75行前的‘#’去掉。

\3. 完整編譯Boost

對Boost進(jìn)行完整編譯,生成所有調(diào)試版、發(fā)行版的靜態(tài)庫和動(dòng)態(tài)庫。

方法1:

# cd /usr/src

# wget http://sourceforge.net/projects/boost/files/boost/1.40.0/boost_1_40_0.tar.bz2

# tar –bzip2 -xvf boost_1_40_0.tar.bz2

# cd boost_1_40_0

# bjam –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的所有編譯工作,并生成所有調(diào)試版、發(fā)行版的靜態(tài)庫和動(dòng)態(tài)庫。但不推薦該方式。

編譯成功后,將在/usr/src/boost_1_40_0/bin.v2目錄下生成諸多文件,包括.a和.so.1.40.0文件,這就是在Linux平臺要使用Boost需要的,其他的文件可以刪除。

安裝

# ./bjam install

將生成的庫默認(rèn)安裝到/urs/local/lib目錄。

4 部分編譯Boost

完整編譯Boost費(fèi)時(shí)費(fèi)力,且這些庫在開發(fā)過程中并不一定全部用到,因此,bjam也支持用戶自行選擇要編譯的庫。

在完全編譯的基礎(chǔ)上,使用–with或者—without選擇可以打開或者關(guān)閉某個(gè)庫的編譯,例如,僅僅編譯date_time庫:

# cd /usr/src/boost_1_40_0

# ./bjam –toolset=msvc –with-date_time –build-type=complete stage

以上就是Linux系統(tǒng)中如何編譯boost的全部內(nèi)容了,更多與Linux系統(tǒng)中如何編譯boost相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI