博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost.asio学习笔记一、linux下boost库的安装
阅读量:6069 次
发布时间:2019-06-20

本文共 1494 字,大约阅读时间需要 4 分钟。

欢迎转载,转载请注明原文地址

学习开源库第一步就是编译安装好库,然后执行成功一个demo,然后才干进行之后的工作。

以下就来讲讲boost库在linux下的安装。

[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
上述命令能够带有各种选项,详细可參考帮助文档: ./bootstrap.sh --help。当中--prefix參数。能够指定安装路径。假设不带--prefix參数的话,默认路径是 /usr/local/include 和 /usr/local/lib,分别存放头文件和各种库。

(不带prefix的话,理论上不须要手动配置环境变量!)

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 显示须要编译的库名称

4.配置环境变量

把/usr/mjf/lib/lib追加到动态链接库配置文件/etc/ld.so.conf,然后直接执行ldconfig。

/etc/profile增加下面两行:

BOOST_INCLUDE=/home/mjf/lib/include

export=BOOST_INCLUDE

BOOST_LIB=/home/mjf/lib/lib

export=BOOST_LIB

然后运行source /etc/profile让马上生效。

安装完毕。我们就来执行一个样例:

#include 
#include
using namespace std;int main(){ boost::timer t; cout << "max timespan:"<

g++ -o test test.cpp -I$BOOST_INCLUDE -L$BOOST_LIB

./test

你可能感兴趣的文章
百度学术改版与 CPU 100% 有关系么?
查看>>
监听停止滚动
查看>>
RxRetrofit - 终极封装 - 深入浅出 & 扩展 String
查看>>
基于智能家居场景的POALRDB性能体验
查看>>
Cris 的 Scala 笔记整理(九):面向对象高级
查看>>
chrome devtools使用详解——Elements篇
查看>>
mongodb明明认证成功 解决不能关闭的方法
查看>>
面试——谈谈你对Java 面向对象思想的理解
查看>>
在webpack-dev-server内添加mock server
查看>>
关于生成订单号规则的一些思考
查看>>
无人餐厅喜忧参半,要成还得看“暖科技”?
查看>>
盒马鲜生To C,美菜网To B:生鲜独角兽的不同成长之路
查看>>
Qtum智能合约使用方法及说明
查看>>
即时性消费时代来临,美团闪购如何竞合29万亿级市场?
查看>>
iOS 锁
查看>>
java基础:String — 源码分析(一)
查看>>
Python PyCharm编辑器配置和使用
查看>>
adb通信协议分析以及实现(四):adb shell 命令分析
查看>>
在微信小程序里自动获得当前手机所在的经纬度并转换成地址
查看>>
input,select, v-model 绑定的值为数字类型
查看>>