zoukankan      html  css  js  c++  java
  • 在WindowsXP下 VC6.0 编译安装Boost库 Step by Step CHRIS

    要使用例如正则表达式类的话就需要编译了。为了不浪费自己High的心情,我还是决定完全编译一下Boost库。首先从Boost的老巢http://www.boost.org/下载。下载完成以后是一个安装文件(其实就是进行自动解压缩的)。选择你的目录解压缩Boost库。然后我们开始对其进行编译我所下载的版本是1.33.1。

    1.cmd
    2.进入安装VC的目录例如D:/Program Files/Microsoft Visual Studio/VC98/Bin目录
    3.运行VCVARS32.BAT(这个操作的作用是对此控制台注册VC的环境变量,这样我们就可以在任意目录使用cl进行编译程序)。、
    4.进入Boost的目录例如D:/boost_1_33_1/tools/build/jam_src
    5.修改build.bat脚本的参数
       将原参数
       if EXIST "C:/Program Files/Microsoft Visual Studio/VC98/bin/VCVARS32.BAT" (
          set BOOST_JAM_TOOLSET=msvc
          set BOOST_JAM_TOOLSET_ROOT=C:/Program Files/Microsoft Visual Studio/VC98/
       goto :eof)
      修改为(就是你的VC6.0安装的目录,我这里举个例子)
       if EXIST "D:/Program Files/Microsoft Visual Studio/VC98/bin/VCVARS32.BAT" (
          set BOOST_JAM_TOOLSET=msvc
          set BOOST_JAM_TOOLSET_ROOT=D:/Program Files/Microsoft Visual Studio/VC98/
       goto :eof)
    6.在刚才打开的控制台下运行
      D:/boost_1_33_1/tools/build/jam_src/build.bat
      最终会在目录下生成一个名为bin.ntx86的文件夹里面包含一个bjam.exe可执行文件,将其拷贝到D:/boost_1_33_1目录下
    7.安装python可以在www.python.org获得
    8.设置环境变量
    SET MSVC_ROOT="D:/Program Files/Microsoft Visual Studio/VC98"
    SET VISUALC="D:/Program Files/Microsoft Visual Studio/VC98"
    SET JAM_TOOLSET=VISUALC
    SET PYTHON_ROOT=D:/Program Files/Python23
    SET PYTHON_VERSION=2.3
    9开始编译
    bjam -sTOOLS=msvc install(将会安装在默认目录C:/Boost)
    这样编译就完成了
    10.boost类库在VC6.0的IDE环境中的配置
    Tools” -> “Options” -> “Diretories” -> “Show Diretories for”中的下拉框选择:
    1) 在Include files 中添加C:/BOOST/INCLUDE/BOOST-1_33_1/BOOST目录。
    2) 在Library files  中添加C:/BOOST/LIB目录。
    11.测试
    如果你不能确定,你的编译是否成功。就需要进行一下测试,拿正则表达式类为例。
    测试如下程序
     
    #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;
    }
    输入:select name from database;
    输出:str:select name from table
       str:name
       str:table
    这样就完成了
  • 相关阅读:
    牛客寒假算法集训 1
    求逆序数——树状数组
    牛客网 被3整除的子序列 区间dp
    SICNU 2019 winter training #2(codeforces #531 Div3)
    iOS 给已有的类添加属性.
    coredata实践
    IOS 数据库升级
    获取当前屏幕显示的viewcontroller
    ios 自顶一个view
    mac 修改文件夹权限.
  • 原文地址:https://www.cnblogs.com/chriszsy/p/13216134.html
Copyright © 2011-2022 走看看