我一直都没有写博客的习惯,最近正好在研究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/boost_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