在这里向大家介绍一下 c++ boost 的安装。我是在cygwin的环境下进行安装的。如果用vs等,大致方法一样
1.首先我们需要download boost文件。可在http://www.boost.org/users/history/version_1_49_0.html里下载。下载完后我们需要对其解压 tar --bzip2 -xf /path/to/boost_1_49_0.tar.bz2
2我们解压后得到目录,大概如下:
boost_1_49_0/ .................The “boost root directory”
index.htm .........A copy of www.boost.org starts here
boost/ .........................All Boost Header files
libs/ ............Tests, .cpps, docs, etc., by library
index.html ........Library documentation starts here
algorithm/
any/
array/
…more libraries…
status/ .........................Boost-wide test suite
tools/ ...........Utilities, e.g. Boost.Build, quickbook, bcp
more/ ..........................Policy documents, etc.
doc/ ...............A subset of all Boost library docs
我们要用到的头文件目录放在boost里面。在这里简单的介绍一下boost里面的目录:boost library 文件存放的位置并不统一,但是遵循下面几个模型:一、一些旧的libraries 和大多数小的libraries是直接放在boost目录下的。二、大多数libraries的公共头文件是放在boost中子文件的。三、一些libraries是有一个“aggregate header”(在这称其为合集吧),包含其他所有的libraries header,如boost/pyton.hpp。四、大多数libraries在子目录下放着自己的私有头文件。这子目录叫detail或aux/.
3介绍上面的文件目录,主要是想向大家说明boost 一个主要特征:他是一个 header-only libraries。这就意味这我们不需要编译boost libraries就可以直接用,只需要包含他们的header即可。但是有一些boost libraries是必须要生成lib的
•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
4如果我们是用的那些header-only,我们只需要向下面这样用即可
#include#include #include #include int main() { using namespace boost::lambda; typedef std::istream_iterator in; std::for_each( in(std::cin), in(), std::cout << (_1 * 3) << " " ); }
Now, in the directory where you saved example.cpp, issue the following command:
c++ -I path/to/boost_1_49_0 example.cpp -o example
我们应该用c++而不要使用gcc,如果要用gcc的话 需要在加上-lstdc++
编译玩了之后可以在console上输入echo 1 2 3 | ./example 查看一下效果
5 如果我们要使用 library binary。我们可以使用简易安装在path/to/boost_1_49_0目录下运行./bootstrap.sh --help我们可以看到一些帮助文档
./bootstrap.sh --prefix=path/to/installation/prefix然后运行
$ ./b2 install
我们可以通过bootstrap.sh或者b2来定制自己需要的库。他们都是通过--show-libraries 来查看都有那些library通过 --with-libraries=library-name-list options来定制自己的library
到这里我们的boost安装也就完成啦。我们可以选择自己喜欢的方式来使用boost啦。
其他详细内容可以参考http://www.boost.org/doc/libs/1_49_0/more/getting_started/unix-variants.html