windows平台 vs2005 boost库安装编译(文中绿色部分是自己试验的结果)

更多精彩内容,请见:http://www.16boke.com


by zxy,Java/C++编程交流群:168424095

1.下载boost
2.解压下载压缩包 boost_1_34_1.zip 解压到 e:\boost_1_34_1\
我的VS 2005安装到 D:\Program Files\Microsoft Visual Studio 8\
把e:\boost_1_34_1\整个目录复制到 D:\Program Files\Microsoft Visual Studio 8\VC\boost_1_34_1
3.在VC2005上编译安装
以下以我自己安装的VS2005的安装为例,说明编译安装过程
cmd
cd  D:\Program Files\Microsoft Visual Studio 8\VC\bin
vcvars32.bat
cd D:\Program Files\Microsoft Visual Studio 8\VC\boost_1_34_1\libs\regex\build\
nmake /f vc8.mak
nmake /f vc8.mak install
遇到问题:vc7.mak(35) : fatal error U1050: Variable MSVCDIR not set.
Stop.
解决:设置MSVCDIR
set MSVCDIR=D:\Program Files\Microsoft Visual Studio 8\VC
4.编译之后的LIB文件已经在 D:\Program Files\Microsoft Visual Studio 8\VC\libs 中
若报错LINK : fatal error LNK1104: 无法打开文件“libboost_regex-vc80-mt-gd-1_34_1.lib”
手动修改,把文件的版本号“1_34”修改成 “1_34_1”
5.编译安装完成之后,在VS 2005 上点击“工具--选项---项目和解决方案--VC++目录”然后在“显示以下内容的目录中”选择“包含文件”,添加一行,内容为“$(VCInstallDir)boost_1_34_1”
6.测试代码
#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;
}

输入:select name from table
输出:str:select name from table
 str:name
 str:table


更多精彩内容,请见:http://www.16boke.com

你可能感兴趣的:(windows,Microsoft,table,regex,平台)