Linux/ubuntu下的boost库安装

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

原文地址:https://www.cnblogs.com/lidabo/p/3807172.html