我是按照这样的步骤配置的:
1、下载后的目录:E:\Program Files\boost\boost_1_35_0
2、编译bjam
    从vs2008的工具菜单进入命令提示窗口,cd到E:\Program Files\boost\boost_1_35_0\tools\jam\src下执行build.bat,会在E:\Program Files\boost\boost_1_34_1\tools\jam\src\bin.ntx86\生成bjam.exe,将bjam.exe复制到 E:\Program Files\boost\boost_1_34_1\目录下。
3、设定编译环境
 
  打开E:\Program Files\boost\boost_1_34_1\tools\build\v2\user-config.jam文件,找到如下所示的字符串。
user-config.jam文件
#  MSVC configuration  
   
#  Configure msvc (default version, searched in standard location  
#  and PATH).  
#  using msvc ;  在此字符串下面添加如下命令行,并保存。
#  using msvc : 9.0 : : /wd4819 /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE  /D_SECURE_SCL=0 ;  4、编译boost
 将目录移至E:\Program Files\boost\boost_1_34_1\下输入下列命令:
   bjam --without-python --toolset=msvc-9.0 --prefix=e:\boost install
5、配置头文件和lib文件
vs2008->工具->选项->项目和解决方案->vc++目录->显示以下包含的内容->包含文件:e:\boost\include\boost-1_35_0
                                                                ->库文件:e:\boost\lib
6、测试
#include "stdafx.h"
#include <cstdlib>
#include <stdlib.h>
#include <boost/regex.hpp>
#include <string>
#include <iostream>using namespace std;
using namespace boost;regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");int main(int argc, char* argv[])
{
 std::string in;
 cmatch what;
 cout << "enter test string" << endl;
 getline(cin,in);
 if(regex_match(in.c_str(), what, expression))
 {
  for(int i=0;i<what.size();i++)
   cout<<"str :"<<what[i].str()<<endl;
 }
 else
 {
  cout<<"Error Input"<<endl;
 }
 return 0;
}
编译出错:
1>------ 已启动生成: 项目: RegexTest1, 配置: Debug Win32 ------
1>正在编译...
1>RegexTest1.cpp
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(18) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(18) : error C2653: “ std”: 不是类或命名空间名称
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(19) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(19) : error C2065: “ cmatch”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(19) : error C2146: 语法错误 : 缺少“;”(在标识符“what”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(19) : error C2065: “what”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(20) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(20) : error C2065: “ cout”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(21) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(21) : error C3861: “ getline”: 找不到标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(22) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(22) : error C2065: “what”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(23) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(23) : error C2146: 语法错误 : 缺少“;”(在标识符“ ”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(22) : error C3861: “ if”: 找不到标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(23) : error C2065: “ ”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(23) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C2144: 语法错误 : “int”的前面应有“)”
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C2065: “i”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C2065: “what”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C2228: “.size”的左边必须有类/结构/联合
1>        类型是“'unknown-type'”
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C3861: “  for”: 找不到标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C2065: “i”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(24) : error C2059: 语法错误 : “)”
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C2146: 语法错误 : 缺少“;”(在标识符“   cout”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C2065: “   cout”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C2065: “what”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C2065: “i”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(25) : error C2228: “.str”的左边必须有类/结构/联合
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(26) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(26) : error C2065: “ ”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(26) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(27) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(28) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(28) : error C2065: “ else”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(28) : error C2146: 语法错误 : 缺少“;”(在标识符“ ”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(28) : error C2065: “ ”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(28) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(29) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(29) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(29) : error C2065: “  cout”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(30) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(30) : error C2065: “ ”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(30) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(31) : error C3872: “0x3000”: 此字符不允许在标识符中使用
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(31) : error C2065: “ return”: 未声明的标识符
1>f:\visual studio 2008\projects\regextest1\regextest1\regextest1.cpp(31) : error C2143: 语法错误 : 缺少“;”(在“常量”的前面)
1>生成日志保存在“file://f:\Visual Studio 2008\Projects\RegexTest1\RegexTest1\Debug\BuildLog.htm”
1>RegexTest1 - 52 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决方案 »

  1.   

    以上版本统一更正为boost_1_35_0 ,麻烦各位前辈帮忙看看~~
      

  2.   

    是不是不支持VC9?从没有在VC9编译过。
      

  3.   

    没有做过,看看这个有没有帮助:http://www.cppblog.com/chemz/archive/2008/03/31/45822.html
      

  4.   

    过程真多
    运行Visual Studio 2008 Command Prompt
    换目录到\boost_1_35_0\libs\regex\build
    记事本打开vc8.mak 然后将vc8替换成vc9改名c9.mak
    保存
    nmake -fvc9.mak
    将vc90下的lib和dll拷贝到你工程目录就可以用了.
      

  5.   


    是不是要把vc8.mak中所有的vc80替换为vc90,然后把该文件名改为vc9.mak?
    您试过这方法吗?
      

  6.   

    nmake -fvc9.mak 编译之后好像有很多lib和dll产生,怎么知道该拷哪个,有没有什么安装的方法?
      

  7.   

    lib和dll都拷贝过去
    会根据你的工程类型自动选择的,你要是有选择的话看boost的编译说明,有说明那个dll是什么编译选项的.
      

  8.   

    要测试是否安装成功只有测试#include <boost/regex.hpp>这条语句就成