您好,登錄后才能下訂單哦!
今天給大家介紹一下Linux系統(tǒng)中如何編譯boost。文章的內(nèi)容小編覺得不錯(cuò),現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。
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
方法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
以上就是Linux系統(tǒng)中如何編譯boost的全部內(nèi)容了,更多與Linux系統(tǒng)中如何編譯boost相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!
免責(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)容。