最新Boost和bjam的快捷安装

楼主  收藏   举报   帖子创建时间:  2013-11-19 00:00 回复:0 关注量:141

boost是一个可移植,能提供源代码的C++库,是C++标准化进程的引擎之一,由C++标准委员会工作组成员发起。最近因为要安装cufflinks(分析转录本数据的程序),但cufflinks是依附于boost的,所以得先安装boost,而安好boost后需要bjam编译,网上找了一些bjam安装教程,但大多是以前版本的,我安的是最新的boost_1_55_0,这些教程都不适用,而且最新的bjam是boost-jam-3.1.18.tgz,在这个版本之后就不再更新了,用这个bjam编译显示与boost版本不一致,说明这种方法不行,凭借多年搞程序的经验(不排除运气成分),运行了一下boost_1_55_0中的./bootstrap.sh程序,bjam就出现了boost中自身就带了bjam程序,同时产生了一个b2的可执行程序,./bjam –toolset=gcc link=static runtime-link=static install ,下面简单介绍一下一些主要参数的含义:
1、toolset:指定编译器,如gcc, msvc, msvc-9.0, borland等;
2、prefix/stagedir:stage时使用stagedir,install时使用prefix,指定编译生成的路径(如–prefix=”./bjam/”,如果不指定,默认为/usr/local/);
3、link:生成动态链接库或者静态链接库,shared为动态,static为静态,动态库本身只是一些索引,本身没有库文件,要用到的时候根据这些索引可以找到这些库文件,静态是已包含全部库文件,如果硬盘条件允许的话建议用静态,如果用到的库文件不是很多而且不想浪费太多资源的话就用动态;
4、runtime-link:程序运行时采用的库,同样包含动态(shared)和静态(static)两种;
5、stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录;
6、withou/with:不编译或者编译哪些库;