Windows VC6编译安装Boost库

Windows VC6编译安装Boost库

作者:      来源:zz     发表时间:2007-05-21     浏览次数: <script language="Javascript" src="/view.php?articleid=2606" type="text/javascript"></script> 2726      字号:    

 

(zz)
首先从Boost的老巢 http://www.boost.org/下载。下载完成以后是一个安装文件(其实就是进行自动解压缩的)。选择你的目录解压缩Boost库。然后我们开始对其进行编译我所下载的版本是1.33.1。
1.cmd
2.进入安装VC的目录例如c:/Program Files/Microsoft Visual Studio/VC98/Bin目录
3.运行VCVARS32.BAT(这个操作的作用是对此控制台注册VC的环境变量,这样我们就可以在任意目录使用cl进行编译程序)。
4.进入Boost的目录例如c:/boost_1_33_1/tools/build/jam_src
5.修改build.bat脚本的参数(如果必要的话,你的安装目录不是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/
   goto :eof)
6.在刚才打开的控制台下运行
  D:/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="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/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
这样就完成了
单个库编译方法:(以regex为例)
编译boost.regex的另一种办法 
1.运行vcvars32.bat,可以帮助设置好vc命令行环境 
2.cd boost_1_33_1/libs/regex/build 
3.nmake -vc6.mak

这种方式可以只编译regex 
这时会在当前目录下生成vc6目录,里面有已编译好的lib和dll文件, 这样以后的步骤中可以设置regex库时指向这里, 包含文件需要设置到boost_1_33_1目录 

另修正补充: 
用bjam编译regex时,选项-sTOOLS=vc7中vc7改成vc71,否则下面最终生成工程时需要改个文件名( 
libboost_regex-vc7-mt-sgd-1_33_1.lib -> 
libboost_regex-vc71-mt-sgd-1_33_1.lib)
点评: 按照这个方法基本成功 编译库,大部分库编译成功,由于我主要是用boost.regex  组件 ,这个库是
成功得,测试通过,其它得库未测试,由于我编译得是1.34.0版本 文件得位置和此文说得不一样 ,build.bat 文件只需要修改一处 if "_%ProgramFiles%_" == "__" set ProgramFiles=F:/
设置正确得ProgramFiles变量。
设置变量的方法:cmd.exe  set  xxx=yyy
有点疑问的地方 yyy 是否要带引号 待以后解决?

 

 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值