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