码迷,mamicode.com
首页 > 系统相关 > 详细

Boost.Asio学习笔记一、linux下boost库的安装

时间:2015-07-05 09:33:57      阅读:759      评论:0      收藏:0      [点我收藏+]

标签:boost.asio   网络库   c++   linux   安装   


学习开源库的第一步就是,编译安装,然后我们才能写一写demo去测试。

所以本章我们学一下在linux编译安装Boost库,为了方便起见,直接安装完整库。

我使用的版本是boost_1_55_0,版本差别不大。


[mjf@localhost ~]$ tar -zxvf boost_1_55_0.tar.gz

[mjf@localhost boost_1_55_0]$ ./bootstrap.sh --prefix=/home/mjf/lib

[mjf@localhost boost_1_55_0]$ sudo ./b2 install



1.解压


2.生成bjam
  生成bjam,上述命令可以带有各种选项,具体可参考帮助文档: ./bootstrap.sh --help。其中--prefix参数,可以指定安装路径,如果不带--prefix参数的话,默认路径是 /usr/local/include 和 /usr/local/lib,分别存放头文件和各种库。执行完成后,会生成bjam,已经存在的脚本将会被自动备份。

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;
}


g++ -o test test.cpp -I/home/mjf/lib/include -L/home/mjf/lib/lib


大功告成!



版权声明:本文为博主原创文章,未经博主允许不得转载。

Boost.Asio学习笔记一、linux下boost库的安装

标签:boost.asio   网络库   c++   linux   安装   

原文地址:http://blog.csdn.net/majianfei1023/article/details/46760099

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!