学习开源库第一步就是编译安装好库,然后运行成功一个demo,然后才能进行之后的工作。
下面就来讲讲boost库在linux下的安装。
[mjf@localhost ~]$ tar -zxvf boost_1_55_0.tar.gz
1.解压
2.生成bjam
上述命令可以带有各种选项,具体可参考帮助文档: ./bootstrap.sh --help。其中--prefix参数,可以指定安装路径,如果不带--prefix参数的话,默认路径是 /usr/local/include 和 /usr/local/lib,分别存放头文件和各种库。
3.编译,安装
这里是全部编译。当然也可以选择只编译一部分,选项 --with-<library> 只编译指定的库,如输入--with-regex就只编译regex库了。
编译完成后,进行安装,也就是将头文件和生成的库,放到指定的路径(--prefix)下
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 | 显示需要编译的库名称 |
#include <iostream>
#include <boost/timer.hpp>
using namespace std;
int main()
{
boost::timer t;
cout << "max timespan:"<<t.elapsed_max()/3600<<"h"<<endl;
cout << "min tmiespan:"<<t.elapsed_min()<<"s"<<endl;
cout<<"now time elapsed:"<<t.elapsed()<<"s"<<endl;
return 0;
}
./test
版权声明:本文为博主原创文章,未经博主允许不得转载。
boost.asio学习笔记一、linux下boost库的安装
原文:http://blog.csdn.net/majianfei1023/article/details/46761029