boost安装 linux,linux安装boost库

  boost安装 linux,linux安装boost库

  编译安装ubuntu下的boost库-longcpp-blog park

  在ubuntu下编译安装boost库

  2012-06-06 15:17

  经过

  longcpp,

  259

  读书,

  2

  评论,

  收藏,

  编辑

  环境:Ubuntu 12.04 32位,boost 1.49

  准备:在boost中,使用了其他函数库,所以为了使用boost中的相应函数,需要先安装系统中可能缺失的函数库。

  ?Apt-get安装mpi-default-dev #安装mpi库?Apt-get安装libicu-dev # UNICODE字符集支持正则表达式?Apt-get安装python-dev #如果需要python?Apt-get install libbz2-dev #如果编译有错误:bzlib.h:没有这样的文件或目录安装好以上函数库后,就可以编译boost库了。解压boost_1_49_0.tar.bz2到get /boost_1_49_0,将当前工作目录切换到这个文件夹。

  ?/bootstrap.sh来生成bjam。上述命令可以有各种选项。请参考帮助文档:/bootstrap.sh-help了解详细信息。前缀参数可以指定安装路径。如果不使用-prefix参数(推荐),默认路径是/usr/local/include和/usr/local/lib,它们分别存储头文件和各种库。执行后,将生成bjam,并自动备份现有脚本。注意,boost 1.49会在当前目录下生成两个文件bjam和b2。这两个文件是相同的,因此可以使用这两个文件中的任何一个来执行下一步。

  ?使用mpi#如果需要MPI函数,需要添加在/tools/build/v2/user-config . jam文件的末尾。接下来,用生成的bjam脚本编译源代码。

  ?/b2 -a -sHAVE_ICU=1 #-a参数,表示重新编译,而-sHAVE_ICU=1表示Unicode/ICU支持。注意,这里都是编译。当然,你也可以选择只编译一部分。带库的选项仅编译指定的库。例如,如果输入- with-regex,将只编译regex库。完整编译boost1.49,在配有英特尔酷睿2双核CPU T5750 @ 2.00GHz 2,2G DDR 2内存的旧电脑上,使用以上选项,大概需要半个小时。这个时间是可以承受的。全部编译安装,心理上感觉更舒服。^_^

  bjam的一些常用参数如下:

  - build-dir=builddir编译后的临时文件会放在builddir中(比较好管理,编译后可以删除)- stagedir=stagedir存储编译后的库文件的路径。默认情况下,stage-build-type=complete编译所有版本,否则只会编译少量版本,这完全等同于:

  变体=释放,线程=多;link=shared static运行时链接=共享

  Variant=debugrelease决定编译什么版本(debug还是release?)link=staticshared决定使用静态库还是动态库threading=singlemulti决定使用单线程还是多线程库runtime-link=staticshared决定静态还是动态链接C/C标准库- with- library只编译指定的库,比如输入- with-regex,只编译regex库- show-libraries会显示要编译的库的名称。编译后安装,也就是把头文件和生成的库放在指定的路径(-前缀)。

  ?/b2安装至此,如果一切顺利,安装完成。写个小程序查一下,从《Boost程序库完全开发指南——深入C++“准”标准库(修订版)》(作者罗剑锋,电子工业出版社,2012年5月)

  ?123456789101112131415 # include stdcpp . HPP # include boost/timer . HPP使用命名空间boost;int main(){ timer t;cout max timespan: t . elapsed _ max()/3600 h endl;cout min timespan: t . elapsed _ min() s endl;cout now已用时间: t . elapsed() s endl;返回EXIT _ SUCCESS}程序输出:

  ?最大时间跨度:0.596523hmin时间跨度:1e-06经过的下雪时间:0s

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: