今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看。

最开始直接从网上(www.boost.org)下载了当前最新版本boost_1_55_0.zip,无法正常编译,查找原因为vc6.0由于对c++标准支持的不是很好,所以当前的最新版本不支持vc6.0编译,于是尝试着下载了比较老的版本boost_1_39_0.7z进行编译。

1、解压

将下载的boost_1_39_0.7z进行解压,最终在我机子上的绝对路径为:D:\boost\boost_1_39_0

解压路径因人而异,不过最好不要包含中文。

2、编译

在“运行”中输入“cmd”,打开doc窗口

输入->cd D:\boost\boost_1_39_0\libs\regex\build  //回车,设置目录

输入->d:  //回车,转到当刚才设置的目录

此时显示如下:

d:\boost\boost_1_39_0\libs\regex\build>

接下来比较关键

将文件VCVARS32.BAT用鼠标拖入当前的doc窗口,然后回车,再输入:nmake -fvc6.mak 回车,开始进行编译。

VCVARS32.BAT文件是用来注册环境变量的,注册后只在当前窗口有效,窗口关闭后消失,这个文件一般位于vc的安装目录下,

我的路径为:D:\1_setup_dir\VC98\Bin 目录下。如果不注册会出现:“‘nmake’不是内部或外部命令....” 类似的错误提示。

编译结束后会在目录D:\boost\boost_1_39_0\libs\regex\build下面会出现文件夹vc6,里面是lib,dll和一些其他文件,其中lib和dll文件是后

面需要的。

.lib,后面的

测试中会出现错误:无法找到 *****39.lib ,后来将lib和dll中的38都改成39则能够通过测试,后来我测试编译版本boost_1_35_0没有出现类似情况。

3、vc6.0配置

首先将编译好的dll和lib拷贝到目录:D:\1_setup_dir\VC98\BoostRex 下,BoostRex自己创建。

然后打开vc6.0,选择Tools->Options->Directories->Include files 添加一行:D:\boost

在选择Tools->Options->Directories->Library files 添加一行:D:\1_setup_dir\VC98\BoostRex

配置完成

4、编程测试

#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 inStr;  cmatch what;

  cout << "enter test string" <<endl;

  getline(cin, inStr);

  if ( regex_match( inStr.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:e

str:table

Press any key to continue

对于输出结果的由来还需继续学习

参考文章:http://www.360doc.com/content/11/1028/21/1200324_159951943.shtml

VC6.0编译boost的更多相关文章

  1. 比特币初始版本VC6.0编译

    1 源码下载 github上初始版本是bitcoin-0.1.5,可以从https://github.com/bitcoin/bitcoin下载,但是从网上可以找到更老版本bitcoin-0.1.0, ...

  2. 让VC6.0编译出来的程序支持XP样式或XP风格

    (1)VC6.0编译出来的win32程序不支持winxp样式的原因:微软WINXP系统更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件.为了保留传统的Windows界面风格,特地 ...

  3. VC6.0编译DLL,使用VS2010调用问题及解决方法

    1.做驱动的时候.做应用程序须要和驱动通信,必须建立一个DLL. 2.由于客户使用版本号太低,须要使用到VC6.0编写DLL 3.在VC6.0上编写DLL的时候,导出的函数名会出现和原函数名不正确,导 ...

  4. Berkeley DB (VC6.0 编译环境配置)

    操作系统:winxp VC环境:VC6.0 必需文件:Berkeley DB安装文件(db-.msi) 下载地址:http://www.oracle.com/technology/software/p ...

  5. pcre7.0在vc6.0编译

    (0)从http://gnuwin32.sourceforge.net/packages/pcre.htm  (pcre windows)下下载最新的windows平台源代码pcre-7.0-src. ...

  6. VC6.0 编译 gdlib 库

    环境  WinXP, MSVC6.0 1 从  https://bitbucket.org/libgd/gd-libgd/downloads 下载最新版本 libgd 2 可以用 nmake 编译 w ...

  7. 使用VC6.0编译C++代码的时候报错:fatal error C1071: unexpected end of file found in comment(Mark ZZ)

    fatal error C1071: unexpected end of file found in comment(Mark ZZ) 今天在一论坛上看到一人发帖: 『最近遇到一个奇怪的问题,代码中的 ...

  8. 校园导游系统(C++实现,VC6.0编译,使用EasyX图形库)

    运行效果: 说明: 由于当年还不会使用多线程,所以很多获取用户点击的地方都是使用循环实现的...CPU占用率会比较高. 代码: //校园导游系统.cpp 1 #include <graphics ...

  9. 贪吃蛇(C++实现,VC6.0编译,使用了EasyX图形库)

    程序效果: 代码: //main.cpp 1 #include <iostream> #include<fstream> #include <graphics.h> ...

随机推荐

  1. IIS问题汇总

    1.问题描述   VS和Framework的安装顺序不对导致网站打不开   原因分析   Framework出现问题   解决办法   重新注册Framework版本   a.开始->运行-&g ...

  2. RC2加密算法

    1.introduction RC2是一种传统的私钥块加密算法,曾经被考虑作为DES算法的替代品.输入和输出块大小都是64bits.而密钥是可变的,从1byte到128bytes,现在常用的是8字节. ...

  3. Linq lamda表达式Single和First方法

      让我们来看看如何对一个整数数组使用 Single 操作符.这个整数数组的每个元素代表 2 的 1 到 10 次方.先创建此数组,然后使用 Single 操作符来检索满足 Linq Lambda表达 ...

  4. 在Ubuntu 14.04 64bit上安装numpy和matplotlib库

    原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...

  5. Linux中命令链接操作符的十个最佳实例

    转载: http://www.linuxeden.com/html/softuse/20140112/147406.html http://www.tecmint.com/chaining-opera ...

  6. Excel处理数据用到的一些公式和VBA脚本

    最近工作中用到EXCEL统计处理一些数据,正好之前有自学了一段时间的EXCEL,这次正好用上.为了加深印象,以后方便翻阅,就记录下来.这篇会不断补充. IF 多条件判断返回值 IF(logical_t ...

  7. c++ 构造函数,拷贝构造函数,析构函数与赋值操作符

    题目: 为下面的Rectangle类实现构造函数,拷贝构造函数,赋值操作符,析构函数. class Shape { int no; }; class Point { int x; int y; }; ...

  8. 小白日记48:kali渗透测试之Web渗透-XSS(二)-漏洞利用-键盘记录器,xsser

    XSS 原则上:只要XSS漏洞存在,可以编写任何功能的js脚本 [反射型漏洞利用] 键盘记录器:被记录下的数据会发送到攻击者指定的URL地址上 服务器:kali 客户端 启动apache2服务:ser ...

  9. DM 之 全解析

    一.设计模式的分类 二十三大设计模式,分为三大类: 1. 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 2. 结构型模式,共七种:适配器模式.装饰器模式.代理模式. ...

  10. 开发工具 之 PowerDesigner 应用积累

    1.在默认情况下,code与name是联动,修改了name中的数据. 解决方法:设置菜单栏选择"Tools→General Options→Dialog"  中的 "Na ...