您好,登錄后才能下訂單哦!
今天給大家介紹一下Linux系統中如何編譯boost。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。
Boost就是Boost庫,它是一個可移植、并且提bai供源代碼的C++庫,而且它作為標準庫的后備,是C++標準化進程的開發引擎之一。
Boost的編譯使用的不是已經成為公認標準的make,而是專門為Boost開發的工具bjam(boost jam)。
以boost1.40為例,在Linux平臺的編程環境為gcc4.4.1,假設Boost代碼在/usr/src/boost_1_40_0目錄,步驟如下。
\1. 獲得bjam
方法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 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的所有編譯工作,并生成所有調試版、發行版的靜態庫和動態庫。但不推薦該方式。
編譯成功后,將在/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
# ./bjam –toolset=msvc –with
以上就是Linux系統中如何編譯boost的全部內容了,更多與Linux系統中如何編譯boost相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。