boost 配置 vc6.0

来源:互联网 发布:matlab随机初始化矩阵 编辑:程序博客网 时间:2024/05/07 12:53

这个操作也适合1.33以后的版本

 

首先从http://www.boost.org/下载,下载完成后解压缩Boost库。然后我们开始对其进行编译。我所下载的版本是1.33.1。
1.运行->cmd,进入控制台程序。
2.运行"c:/Program Files/Microsoft Visual Studio/VC98/Bin/VCVARS32.BAT"
3.进入Boost的目录例如c:/boost_1_33_1/tools/build/jam_src
4.修改build.bat脚本的参数(如果必要的话,你的vc安装目录不是c:盘)   将原参数
   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/
5.在刚才打开的控制台下D:/boost_1_33_1/tools/build/jam_src/ 运行 build.bat
最终会在目录下生成一个名为bin.ntx86的文件夹里面包含一个bjam.exe可执行文件,将其拷贝到D:/boost_1_33_1下。
  如果出现“此时不应有 /Utilities/Bin/x86”报错信息,是因为安装了DirectX SDK的原因,
  安装路径发生了错误。可直接下载bjam.exe文件到D:/boost_1_33_1下。
6.安装python,可以在www.python.org获得
7.在命令行设置环境变量,大小写必须正确,Python的安装路径和版本必须与自己安装的路径版本相一致。
SET MSVC_ROOT="c:/Program Files/Microsoft Visual Studio/VC98"
SET VISUALC="c:/Program Files/Microsoft Visual Studio/VC98"
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=D:/Program Files/Python25
SET PYTHON_VERSION=2.5
8.在刚才的控制台下D:/boost_1_33_1,输入bjam -sTOOLS=msvc install 开始编译(将会安装在默认目录C:/Boost)等待编译完成,需很长时间。
(附:boost1.34.1可能用到的编译情况及自定义目录
jam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release <runtime-link>static/dynamic"
以上命令解释如下:
-s 即set,设置环境变量;
BOOST_ROOT boost的存放目录
TOOLS 你选择的toolset,如gcc、msvc(即vc6)、vc7.1,此外还有gcc-stlport、msvc-stlport、vc7.1- stlport,表示同时使用stlport。具体支持何种toolset,大家可以自行到$BOOSTDIR/tools/build/v1看个究竟。 BUILD 编译类型,上述选项表示编译出支持static和dynamic链接的debug和release版本(4个版本)。
编译后的lib、dll将被copy到$BOOSTDIR/bin/boost/libs目录下,但是这些lib、dll分散在不同的目录下,为了便于使用,可以在上述目录下分别查找*.lib和*.dll找出这些文件,然后将他们分别全部copy到VC的lib目录和Windows的System32目录,也可以自己建立一个专门用于存放boost的lib文件的目录,然后依次选择Tools->Options->Directories->Library files,将上述目录路径添加到VC的环境设置中。
)
10.boost类库在VC6.0的IDE环境中的配置Tools” -> “Options” -> “Diretories” -> “Show Diretories for”中的下拉框选择:
1) 在Include files  中添加C:/BOOST/INCLUDE/BOOST-1_33_1目录。
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.str()<<endl;
     }
     else
     {
        cout<<"Error Input"<<endl;
     }
     return 0;
}