ubuntu 10.04下 boost1.48.0编译

本文档详细介绍了在Ubuntu 10.04上编译Boost 1.48.0的步骤,包括安装必要的工具,解压库文件,修改编译脚本为gcc版本,执行编译脚本bjam,完全编译Boost库,并设置环境变量以便于使用。最后通过Eclipse CDT验证编译结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.从 www.boost.org官网下载boost1.48.0

2.执行 sudo apt-get install build-essential (目的是为了安装好象gcc,g++等一些工具进行编译)
3.解压boost库到/usr/share/
      將下载好的boost 1.48.0.tar.gz复制到/usr/share/ 目录下,然后解压,会自动生成一个boost_1_48_0这个文件夹

4.编译bjam

      编译之前先做如下操作,由于这版本默认是编译msvc版的bjam,我们把它改成gcc版的bjam.     

     cd /usr/share/boost_1_48_0

     进入boost1.48.0解压目录找到bootstrap.sh

     用sudo gedit ./bootstrap.sh打开,之后修改:
      第13行將call .\build.bat %* > ..\..\..\bjam.log 改为call .\build.bat gcc > ..\..\..\bjam.log
     第33行將set toolset=msvc改为set toolset=gcc
     保存退出,然后在终端中执行脚本bootstrap.sh:

     sudo ./bootstrap.sh

     稍等片刻会在boost_1_48_0中生成bjam
5.编译boost库:

     sudo ./bjam toolset=gcc --layout=tagged --build-type=complete stage 进行完全编译,当然此处你可以设置自己喜欢的bjam参数来编译,

     例如

     sudo ./bjam toolset=gcc variant=release threading=multi link=static runtime-link=static --build-dir=./builddir --with-date_time --with-serialization --with-thread --with-timer --with-filesystem

bjam参数
--build-dir=<builddir>编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了)
--stagedir=<stagedir>存放编译后库文件的路径,默认是stage
--build-type=complete编译所有版本,不然只会编译一小部分版本(确切地说是相当于:variant=release, threading=multi;link=shared|static;runtime-link=shared)
variant=debug|release决定编译什么版本(Debug or Release?)
link=static|shared决定使用静态库还是动态库。
threading=single|multi决定使用单线程还是多线程库。
runtime-link=static|shared决定是静态还是动态链接C/C++标准库。
--with-<library>只编译指定的库,如输入--with-regex就只编译regex库了。
--show-libraries显示需要编译的库名称













 

注:bjam --show-libraries 可以看见需要编译的库的名称


经过漫长的等 待,命令执行完毕后,将会生成所有版本的库,并存储在:
     /usr/share/boost_1_48_0/stage 下
6.boost 已经编译好了,下面设置boost库调用环境   

    1.在/usr/include/下生成一个boost库的include文件夹连接:
      sudo ln -s /usr/share/boost_1_48_0/boost /usr/include/boost
    2.在/usr/lib/ 下生成所有boost编译出的lib库文件的对应连接:

       切换到stage目录下

      cd /usr/share/boost_1_48_0/stage

      执行
       sudo find $PWD/lib/*.* -type f -exec ln -s {} /usr/lib/ \;
     注:上行指令结束处 必须为 \; (转义符+;)

执行完以上操作就算ok了!

用eclipse CDT 测试几行代码 一切正常.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值