linux 升级boost版本,ubuntu 16.04 下更换boost版本

如果是新机器,没装过boost,那么直接一条命令

sudo apt-get install libboost-all-dev

头文件一般安装在

/usr/include

下面有一个目录boost,里面是头文件。而库文件一般都放在

/usr/lib/x86_64-linux-gnu

目录下。比如libboost_system.a文件。

一 如何查看当前安装的boost版本

dpkg -S /usr/include/boost/version.hpp

通过上面的命令,你就可以发现boost的版本了,查看结果可能如下:

libboost1.54-dev: /usr/include/boost/version.hpp

二 如何删除当前安装的boost

sudo apt-get autoremove libboost1.54-dev

那么就可以删除boost了。上面的libboost1.54-dev是在第一步中看到的版本。

注意的是,如果你使用的是以下命令安装的boost

sudo apt-get install libboost-dev

那么很有可能,在目录/usr/lib/x86_64-linux-gnu下并没有libboost_system.a等文件,这个是要注意的。

三 如何安装旧版本boost:

1 下载旧版本,我的是下载1.55的,对应版本路径:

https://sourceforge.net/projects/boost/files/boost/1.55.0/

2 在根目录下执行:

./bootstrap.sh --with-toolset=clang

3 执行:

./b2 install --build-type=complete --layout=versioned threading=multi --prefix="/usr/lib/boost-1.55"

编译完成后使用:

4 设置环境变量

以boost库的存放目录/usr/boost为例, 打开/etc/profile, 追加以下内容(前两行为编译时路径):

export CPLUS_INCLUDE_PATH=/usr/boost/include:$CPLUS_INCLUDE_PATH

export LIBRARY_PATH=/usr/boost/lib:$LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/boost/lib:$LD_LIBRARY_PATH

最后执行命令使环境变量生效:

# source /etc/profile

5 测试结果:

新建文件boost_test.cpp

#include #include#include#include

using namespacestd;intmain()

{

boost::timer t;

cout<< "max timespan:" << t.elapsed_max() / 3600 << "h" <

cout<< "min timespan:" << t.elapsed_min() << "s" <

cout<< "now time elapsed:" << t.elapsed() << "s" <

cout<< "boost version" << BOOST_VERSION <

cout<< "boost lib version" << BOOST_LIB_VERSION <

}

编译:g++ boost_test.cpp -o boost_test

四 boost库的科普:

Boost库是为C++语言标准库提供扩展的一些C++

程序库的总称。

Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。

Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。在Boost库的开发中,Boost社区也在这个方向上取得了丰硕的成果。在送审的C++标准库TR1中,有十个Boost库成为标准库的候选方案。在更新的TR2中,有更多的Boost库被加入到其中。从某种意义上来讲,Boost库成为具有实践意义的准标准库。

大部分boost库功能的使用只需包括相应头文件即可,少数(如

正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。

很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。

参考文档:

1 https://baike.baidu.com/item/Boost%E5%BA%93

2 https://sourceforge.net/projects/boost/files/boost/1.55.0/

3 https://blog.csdn.net/dongchongyang/article/details/72718687

4 http://valleylord.github.io/post/201601-boost-install/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。   可从http://sourceforge.net/project/showfiles.php?group_id=7586下载安装boost库。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。   Boost中比较有名气的有这么几个库:   Regex   正则表达式库   Spirit   LL parser framework,用C++代码直接表达EBNF   Graph   图组件和算法   Lambda   在调用的地方定义短小匿名的函数对象,很实用的functional功能   concept check   检查泛型编程中的concept   Mpl   用模板实现的元编程框架   Thread   可移植的C++多线程库   Python   把C++类和函数映射到Python之中   Pool   内存池管理   smart_ptr   5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章:   Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。中文版见笔者在《Dr.Dobb's Journal软件研发杂志》第7辑上的译文。   Boost总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的强调,是编写平台无关,现代C++的开发者必备的工具。但是Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。   boost英文解释:推进   boost 在一些播放软件和音效中指增强,比如Bass Boost,低音增强。 提示: 这是boostpro定制安装更新版, 可以选择自己需要的库. 包括1.33到1.40所有版本. 如要最新可去http://www.boostpro.com/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值