ubuntu 10.04下 boost1.48.0编译

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 测试几行代码 一切正常.

    ubuntu 10.04下 boost1.48.0编译_第1张图片

    你可能感兴趣的:(eclipse,ubuntu,gcc,脚本,include,终端)