你好,游客 登录 注册 搜索
背景:
阅读新闻

Boost库的安装和编译

[日期:2014-08-08] 来源:Linux社区  作者:Linux [字体: ]

一、Boost库的介绍

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。
Boost库中比较有名的几个库:
(1)Regex,正则表达式库;
(2)Spirit,LL parser framework,用C++代码直接表达EBNF;
(3)Graph,图组件和算法;
(4)Lambda,在调用的地方定义短小匿名的函数对象,很实用的functional功能;
(5)concept check,检查泛型编程中的concept;
(6)Mpl,用模板实现的元编程框架;
(7)Thread,可移植的C++多线程库;
(8)Python,把C++类和函数映射到Python之中;
(9)Pool,内存池管理;
(10)smart_ptr,智能指针。

 

二、Boost库的地址

Boost库的下载地址:http://www.boost.org/users/download/

 

三、Boost库的安装和编译

(1)下载Boost库,如boost_1_42_0.zip。解压到目录,如D:\Program Files\Boost\boost_1_42_0。
(2)编译生成bjam程序。进入控制台(运行--->输入cmd--->确定),用cd命令进入Boost目录下的tools\jam\src目录,如D:\Program Files\Boost\boost_1_42_0\tools\jam\src。使用build命令编译并生成bjam程序。
  • BCC5.5/BCB6/BCB2006/CB2009用户输入:build borland
  • VC用户依据其版本输入:build vc7或vc8或vc9。
  • Mingw用户输入:build mingw
(3)用bjam程序编译Boost库。把生成的bjam.exe(bin.ntx86目录下)拷贝到Boost根目录下,如D:\Program Files\Boost\boost_1_42_0。进入控制台,用cd命令进入Boost根目录下,使用bjam编译Boost,输入命令:
bjam --toolset=borland(对应BCB)或msvc(对应VC)或gcc(对应Mingw) stage
例如:(第一个是编译,第二个是安装)
  • bjam --toolset=msvc-8.0 --build-type=complete --prefix="d:\Program Files\Boost\boost_1_42_0" stage
  • bjam --toolset=msvc-9.0 --build-type=complete --prefix="d:\boost_1_42_0" install
  参数说明:
  • toolset:所使用compiler,Visual Studio 2005 为 msvc-8.0
  • build-type编译类型,complete表示生成所有的版本(debug,release等)
  • prefix:指定编译后library的的目录
开始编译Boost库,编译时间比较长(大概半小时左右,依编译器以及选项不同而不同),编译好的文件会放在.\stage\lib(依--stagedir=命令决定)里。
(4)添加Boost库的环境变量。我的电脑--->属性--->高级--->环境变量,新建系统变量:
BOOST_ROOT=D:\Program Files\Boost\boost_1_42_0

(5)配置Visual Studio 2005的环境。VS2005的Tools--->Options--->Projects and Solutions--->VC++ Directories:

  • 在Library files中加入:D:\Program Files\Boost\boost_1_42_0\stage\lib
  • 在Include files中加入:D:\Program Files\Boost\boost_1_42_0\boost

 

表1. 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 显示需要编译的库名称

Boost 的详细介绍请点这里
Boost 的下载地址请点这里

Boost程序库完全开发指南——深入C++“准”标准库高清PDF版 http://www.linuxidc.com/Linux/2013-07/87574.htm

Ubuntu下编译安装boost库 http://www.linuxidc.com/Linux/2013-07/87573.htm

Ubuntu下编译boost 1.52b http://www.linuxidc.com/Linux/2013-02/79004.htm

Ubuntu编译安装boost并在eclipse C/C++中使用 http://www.linuxidc.com/Linux/2011-04/34790.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-08/105250.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款