天天看点

vs2010编译BOOST库

知道Boost库但一直没正式使用,今天使用了一下确实非常方便,是c++开发者的利器。要使用boost,先把它编译一下再说(虽然说boost里有很多可以直接使用的hpp文件,不需要编译),下面就boost的编译做个笔记。

Boost版本:boost_1_54_0

开发环境:vs2010

操作系统:windows 7 专业版 32位系统

一、下载:

先到官网下载http://sourceforge.net/projects/boost/files/boost/,响应的boost版本。

二、编译boost 1.54.0

参考boost_1_54_0中的文档(点击index.htm)Getting Started on Windows这一章有详细的介绍,下面编译过程在 5.1   Simplified Build From Source 有具体说明。

打开windows的命令行窗口(cmd打开),进入boost根目录,分别输入以下两个命令:

bootstrap      
.\b2      

然后可以去做其它的事情了,大于半个小时编译完成。

三、设定vs2010环境

(1) 设置系统环境变量:$(BOOST): C:\boost_1_54_0

(2) vs2010项目中添加boost库:

在你的解决方案属性中添加boost库文件。

包含目录:$(BOOST_ROOT);  

库目录:$(BOOST_ROOT)\stage\lib;

需要注意预编译头选项,在配置属性的C/C++中找到预编译头,选择 不使用预编译头.

由于boost中的提供的文件格式为.hpp(头文件与源文件在一起),这些文件都不包含” StdAfx.h”

四、测试程序Viusal Studio 2010里测试开发

VS2010里新建一个控制台程序:

#include <boost/regex.hpp>

#include <iostream>

#include <string>

int main()

{

    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;

    }

}

好了,boost编译到此全部完成,开启漫漫boost之旅吧。