在VS2005中安装Boost

引用 http://paul216.blog.hexun.com/29507251_d.html 中介绍的方法啦,希望引用他的方法没有侵犯到版权呢。

 

编译环境:Windows XP SP3 vs2005 版本8.0.50727.42

首先在www.boost.org下载jam和boost最新的源代码(本文为jam_version=3.1.17 boost_version=1.38.0),将jam源代码解压到x:/boost/jam/目录下,将boost源代码解压缩到x:/boost/目录下。
然后打开Visual Studio 2005 命令提示来到x盘下进入jam的src目录,下面有个build.bat文件。
在命令行输入build msvc 8.0,执行完成后会在该目录下生成一个bin.ntx86的目录,将目录中的bjam.exe拷贝到x:/boost/目录下.
现在将命令行定位到x:/boost编译时通过设置参数可以指定编译器和编译版本以及存放路径这里没哟编译python.
bjam --toolset=msvc-8.0 --prefix=x:/boost stage
这个命令将会生成release版的lib和dll文件
bjam --toolset=msvc-8.0 --prefix=x:/boost debug stage
这个命令将会生成带gd字符的debug版的lib和dll文件
bjam --tooset=msvc-8.0 --prefix=x:/boost debug runtime-link=static stage
这个命令将会生成带sgd字符的静态debug版的lib和dll文件

如果不是用--prefix参数将默认生成在c:/boost目录下

编译完成后可以建立一个bat文件自动将生成的lib和dll文件拷贝到lib目录下面
cplib.bat

dir /W/S/B *vc80*.lib,*vc80*.dll >liblist
if exist lib (echo exist lib fold) else (mkdir lib)
for /f %%x in (liblist) do @copy "%%x" lib/

拷贝之后可以做一下清理工作,同个建立一个bat文件来自动清理编译过程产生的.obj文件
delobj.bat

del /s/q *.obj

将这两个文件放在x:/boost目录下执行就可以了。

在编译过程中会自动生成三个文件夹,按生成先后顺序分别是include,bin.v2,lib其中include目录是编译时用到的头文件,bin.v2目录是编译时存放lib,dll和obj文件的地方,lib目录是存放编译完成后的所有lib,dll文件的目录。如果空间十分紧张,可以删除include和bin.v2目录。我在实际操作中没有include文件,但是有个stage文件夹,有1.55G我觉得太占用空间,就删除了。

 

配置环境变量

 

Tools -> Options -> Projects and Solutions -> VC++ Directories 在Library files加上x:/boost/lib

在Include files加上x:/boos

 

测试程序:

 

#include <iostream>

#include <string>

#include <boost/algorithm/string.hpp>

#include <boost/algorithm/string_regex.hpp>

using namespace std;

using namespace boost;

int main() {   

  string s = "    Hello boost!! ";     trim(s);    

  cout << s << endl;

    getchar();  

      std::string regstr = "a+";

      boost::regex expression(regstr);  

     std::string testString = "aaa";

      // 匹配至少一个a    

   if( boost::regex_match(testString, expression) )     

  {           std::cout<< "Match" << std::endl;       }     

  else    

   {           std::cout<< "Not Match" << std::endl;       }

 

 

 

你可能感兴趣的:(String,dll,regex,include,iostream,fold)