最新版的boost库不支持vc6, 支持vc6的最高版为1.34
故在网上下载boost_1_34_1,解压。
两种方式编译:
1. 运行
boost_1_34_1\tools\jam\src\build.bat, 生成bjam,
拷贝到boost_1_34_1,执行:
bjam --toolset=msvc --with-regex --build-type=complete stage
这样在stage目录生成dll和lib. 后面会用到。
2. 运行
cd boost_1_34_1\libs\regex\build
vcvars32.bat
nmake -f vc6.mak
同样生成dll和lib.
然后进行测试:
#include "stdafx.h"
#include <boost/regex.hpp>
#include <iostream>
boost::regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");
int main(int argc, char* argv[])
{
boost::cmatch what;
char *result;
const char buff[]="select stower from chengdu";
if(boost::regex_match(buff,what,expression))
{
int n= what.size();
for(int i=0;i<n;i++)
std::cout<<what[i].str()<<std::endl;
}
return 0;
}
编译前加入头文件路径和库文件路径,include 指定 boost_1_34_1路径,lib 指定\boost_1_34_1\stage\lib即可。