Boost库的安装
说明
windows下的安装和linux下安装实际上大同小异,主要是弄清楚一些配置选项,和可执行文件的作用。
Windows下安装
配置环境:win8.1 64bit + VS2015
Step1:下载boost库,放到指定目录
目录为:d:\boost_1_62_0
Step2:打开命令提示符,找到指定目录下的bootstrap.bat文件,并运行
Step3:运行生成的bjam.exe文件
编译的时间很长,耐心等待这段时间已经生成我们想要的lib包了,编程时只需要添加lib包的目录和boost的目录即可。
Step4:测试
4.1 配置VS 2012
4.1.1 包含目录
在C/C++选项 -> 附加目录中,添加D:\boost_1_62_0。
4.1.2 包含库目录
在链接器中添加附加库目录中,添加D:\boost_1_62_0\stage\lib。
4.2 运行测试代码
#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
int a = boost::lexical_cast<int>(“123”);
double d = boost::lexical_cast<double>(“123.123”);
std::string s1 = boost:lexical_cast<string>(a);
std::string s2 = boost:lexical_cast<string>(d);
std::cout << “Number : “ << a << “ “ << b << std::endl;
std::cout << “String : “ << s1 << “ “ << s2 << std::endl;
return 0;
}
linux下安装
简单安装
$ sudo ./bootstrap.sh
$ sudo ./b2 install --prefix=/user/local/boost_1_64_0
说明:加上sudo执行的原因是默认情况下是安装在/usr/local目录下,使用本地用户没有权限对/usr/local目录进行更改。此编译过程花费时间比较长。
测试代码
#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main(int argc, char *argv[])
{
std::string line;
boost::regex pat("^Subject: (Re: |Aw: )*(.*)");
while (std::cin)
{
std::getline(std::cin, line);
boost::smatch matches;
if (boost::regex_match(line, matches, pat))
{
std::cout << matches[2] << std::endl;
}
}
return 0;
}
产生可执行文件
g++ -I /usr/local/boost_1_64_0/include test.cpp -o test /usr/local/boost_1_64_0/libboost_regex.a
补充知识
b2 和 bjam
b2是Boost.Build的缩写,可以完全编译boost库。b2这个可执行程序被叫做Boost.Build引擎。
Boost.Build引擎来源于Proforce jam,最初只是做了一些修改,名字定为bjam。
之后,由于越来越多的改动,最终官方正式命名为b2。为了向前兼容,bjam实际上是b2的一份复制。
总之,可以随便使用。
参考
[1] boost第五节 简单安装:
http://www.boost.org/doc/libs/1_64_0/more/getting_started/unix-variants.html
[2] b2 和 bjam比较:
http://www.boost.org/build/doc/html/bbv2/faq/names.html
上一篇: Zope的优点及和Apache+PHP+MySQL的比较_PHP教程
下一篇: boost安装