如果你想了解如何一步步编译安装Boost库,请接着往下读。
一、到官网(www.boost.org)下载最新版Boost并解压到任意目录
先来看一下解压后的目录结构,以$BOOST_ROOT代表你Boost所在的目录
$BOOST_ROOT\ .................boost 根目录
index.htm .........A copy of www.boost.org starts here
boost\ .........................所有的Boost头文件
libs\ ............各种库的测试用例,文档说明。可以在这个文件夹中查看各种库怎么使用
index.html ........库文档从这里开始
algorithm\
any\
array\
…更多的库…
status\ .........................Boost范围测试套件
tools\ ...........一些有用工具, 比如 Boost.Build, quickbook, bcp
more\ ..........................政策等其它文档.
doc\ ...............所有Boost库文档的子集
二、编译需要的库
首先要说明的是大多数Boost库现在已经可以使用了,直接包含boost目录下相应的头文件即可,并不需要编译安装。
以下是必须编译安装的Boost库:
- Boost.Filesystem
- Boost.GraphParallel
- Boost.IOStreams
- Boost.MPI
- Boost.ProgramOptions
- Boost.Python (see the Boost.Python build documentation
before building and installing it) - Boost.Regex
- Boost.Serialization
- Boost.Signals
- Boost.System
- Boost.Thread
- Boost.Wave
以下库拥有可选的编译组件(也就是说如果你要使用它们中的某些功能,则需要单独编译安装)
- Boost.DateTime 当你使用它的 to_string/from_string 或者序列化特性, 或者目标平台为 Visual C++ 6.x 或 Borland.
- Boost.Graph 仅仅当你想 处理 GraphViz 文件.
- Boost.Math 含有TR1 和 C99 cmath 函数二进制组件.
- Boost.Random 当你使用 random_device.
- Boost.Test 可以 “header-only” 或 “separately compiled”
模式使用, 尽管 对于郑重使用时推荐单独编译.
如果要编译上面的库,首先打开命令行,转到$BOOST_ROOT目录并运行目录下的bootstrap.bat脚本,这个脚本为Boost.Build系统的运行准备环境。
bootstrap.bat
可以看到现在$BOOST_ROOT目录下有b2.exe和bjam.exe两个可执行文件。这两个文件是一样的,只是名字不同,它们可以调用Boost.Build系统来创建上面那些需要编译安装的库。
比如我们想单独编译安装regex库,运行下面的命令即可
bjam stage --with-regex link=static threading=multi runtime-link=static
下面介绍相关参数的含义:
stage 仅创建和安装库文件(不创建头文件),可以用 --stagedir=
--with-
link=static指定生成静态regex库
threading=multi指定生成多线程库
runtime-link=static指定链接静态C和C++ 运行库
其他选项可参见这篇文章
三、配置开发环境
打开Visual Studio,在 工具->选项->项目和解决方案->VC++目录 条目下配置Boost包含文件和库文件目录,这样以后就不用每次都要配置Boost目录。
没有评论:
发表评论