我一直都沒有寫部落格的習慣,最近正好在研究linux下的開發(目前也只是粗粗的研究),且用到了boost庫,就乘此機會寫點什麼,最起碼記錄一下我在安裝boost的一些步驟,主要給和我一樣的linux開發新手們提供點借鑒(當然如果看到這篇文檔的話 ),作者(jwybobo2007)。
1.下載boost庫
這個我就不說啥了,去官網看一下就能下到: www.boost.org ,現在的版本更新到了1.44
2.執行:sudo apt-get install build-essential
不為別的,就是把編譯環境給安裝好
,包括gcc,g++等一些開發工具,反正我是這樣搞的
3.解壓boost庫: tar -xvzf boost-1_44.tar.gz
我在網上看過一些文章,基本上都說解壓到 /usr/share目錄下,其實只是為了方便而已,大家可以自行選擇
,我現在假定解壓在/usr/share下面
4.編譯bjam: /usr/share/boost_1_44_0/tools/jam/src/build.sh
這個程式用來編譯boost庫,命令執行完畢後產生bjam
5.將bjam拷貝至
/usr/share/boost_1_44_0/ 下
我是這麼做的,或者你也可以拷貝到/usr/bin目錄下
6.編譯boost庫:
sudo ./bjam toolset=gcc --layout=tagged --build-type=complete stage
bjam有很多編譯參數,我就不介紹了,可以自己去查看資料,我執行的是完全編譯。
編譯前
不要忘記切換目前的目錄,命令執行完畢後,將會產生所有版本的庫,並儲存在:
/usr/share/bo ost_1_44_0/stage下
此時我們已經完成了boost庫編譯工作了,接下來需要考慮調用問題
1.在/usr/include/下產生一個boost庫的include檔案夾串連:
ln -s /usr/share/boos t_1_44_0/boost /usr/include/boost
2.在/usr/lib/ 下產生所有boost編譯出的lib庫檔案的對應串連,在/usr/share/boost_1_44_0/stage/lib建立指令碼:Jamroot
#Jamroot指令碼
local files = [ glob *.* ];
local curpath;
local install_lib_files = [ glob /usr/lib/*.* ];
local cmd;
local source_path;
local desc_path;
path-constant curpath : ./;
for local file in $(files)
{
source_path = $(curpath)/$(file);
desc_path = "/usr/lib/"$(file);
cmd = "ln -s "$(source_path)" "$(desc_path);
if $(desc_path) in $(install_lib_files)
{
ECHO $(desc_path)" is exists";
}
else
{
ECHO $(cmd);
SHELL $(cmd);
}
}
指令碼是從網上copy的
另一種連結方法(我用的是這種):
切換到stage目錄下,執行
sudo find $PWD/lib/*.* -type f -exec ln -s {} /usr/lib/ /;
作者:jwybobo2007
此文可隨意轉載,但請標明出處:http://blog.csdn.net/jwybobo2007/archive/2010/08/18/5822429.aspx