data mining
獲得boost
boost分布
只需要標頭檔案的庫
使用boost建立乙個簡單的程式
準備使用boost二進位制檔案庫
把你的程式鏈結到boost庫
1.獲得boost
解壓2.boost分布
boost_1_46_1.........................boost根目錄
boost/.....................................所有boost標頭檔案
libs/........................................tests,.cpps,docs等的庫檔案
注意:(1)boost根目錄(通常是/usr/local/boost_1_46_1)想到$boost_root變數中
(2)編譯程式時如果用到boost庫,需要指定標頭檔案路徑-i$boost_root
(3)因為所有標頭檔案都在boost資料夾下,並且標頭檔案都是hpp字尾,所#include形如:
#include
3.只需要標頭檔案的庫
只有下面的boost庫必需單獨built:
下面這些單獨built是可選(optional)的:
boost.datetime boost.graph boost.math boost.random boost.test
4.使用boost建立簡單的程式
下面的程式(example.cc)只用到header-only庫。它是從標準輸入中讀入一串整數,使用boost.lambda每個數乘以3後輸出。
#include
#include
#include
#include
int
main()
編譯:g++ -i$boost_root example.cc -o example
執行:echo 1 2 3 | ./example
5.準備使用boost二進位制庫
如果你的程式用到需要單獨編譯的boost庫,你需要首先獲得這些二進位制庫檔案。
5.1編譯安裝所有二進位制庫檔案
cd $boost_root
./bootstrap.sh --help
./bootstrap.sh --prefix=/usr/local ##其實預設情況下prefix的值就是/usr/local
此時生成了bjam可執行檔案,這個東西就是用來編譯boost庫的。
./bjam install
5.2僅安裝指定的二進位制庫檔案
下面均使用系統預設的編譯器,即linux上的gcc。
5.2.1安裝boost.build
boost.build是乙個用於開發、測試、安裝軟體的基於文字的系統。boost.build的生成安裝步驟:
(1)cd $boost_root/tools/build/v2
(2)./bootstrap.sh
(3)./bjam install --prefix=/usr/local/ ##prefix是boost.build安裝位置
(4)把prefix/bin放到path中 ##當然/usr/local/bin已經path中了
5.2.2呼叫bjam時不指定toolset則使用系統預設的編譯器。如果你的linux上裝了不同版本的gcc,則使用toolset選項時可以指定版本號:toolset=gcc-4.4
5.2.3指定build路徑,通過--build-dir=/path選項,不指定時預設在當前路徑下建立bin.v2資料夾,把生成的檔案放在其內。
5.2.4呼叫bjam
cd $boost_root
bjam --build-dir=./build-boost toolset=gcc stage
上面的命令將建立static and shared non-debug multi-threaded variants of the libraries.如果要建立所有的variants,請使用"--build-type=complete"選項。
所有的boost二進位制庫檔案將放在stage/lib/下,如果你要另外指定路徑,請使用「--stagedir=directory"選項。
注意為節省build時間,你可能需要少build一些庫檔案:
6.把你的程式鏈結到boost庫
下面的程式是從郵件中抽取「主題」內容,它用到了boost.regex庫,這個庫是需要單獨編譯的。
#include
#include
#include
int
main()
}
編譯:方法a:g++ -iboostrootexample.cc−oexample
boostrootexample.cc−oexampleboost_root/stage/lib/ -lboost_regex.a
方法b:g++ -iboostrootexample.cc−oexample−l
boostrootexample.cc−oexample−lboost_root/stage/lib/ -lboost_regex
當你要使用多個庫源於乙個路徑時使用方法b就省力了(paid off)。注意到方法b中並沒有指定.a(靜態庫)還中.so(動態庫),系統將自動地幫你選擇使用靜態庫還是動態庫,當然你可以通過選項「-static"顯示地指定。
6.1庫檔案的命名方式
拿libboost_regex-gcc34-mt-d-1_36來說:
lib....................................通用字首
boost_regex.....................庫名
gcc34...............................編譯時使用的toolset是gcc-3.4
mt...................................編譯時是支援多執行緒的
d/s/g/y/p..........................abi tag
1_36................................tag version
6.2執行我們的程式
首先新建乙個文字檔案mail.txt
to: george shmidlap
from: rita marlowe
subject: will success spoil rock hunter?
---
see subject.
#boost
export boost_root="/usr/local/boost_1_46_1"
export ld_library_path="/usr/local/boost_1_46_1/stage/lib:$ld_library_path"
執行程式:./example < mail.txt
應該輸出
will success spoil rock hunter?
Linux上編譯安裝boost
解壓安裝包 安裝依賴包 編譯安裝 測試是否安裝成功 本文介紹在linux以源 方式編譯安裝boost的方法。本文使用的系統為centos7。root sansec cd home fczdiy software root sansec software wget root sansec softwa...
Linux 安裝boost 使用的方法
建議買乙個某雲 某騰伺服器,又便宜有又快,不需要虛擬機器這麼麻煩 boost庫是為c 語言標準庫提供擴充套件的一些c 程式庫的總稱,由boost社群組織開發 維護。boost庫可以與c 標準庫完美共同工作,並且為其提供擴充套件功能。今天就介紹一下linux的安裝 安裝boost的時候,其實很簡單,按...
Linux下安裝和使用boost庫
boost庫分為兩個部分來使用,一是直接使用對應的標頭檔案,二是需要編譯安裝相應的庫才可以使用。下面是boost在linux上安裝和使用過程 整個boost庫全部安裝 2 進入自己的工作目錄執行解壓等操作命令 bzip2 d boost 1 64 0.tar.bz2 tar xvf boost 1 ...