boost_1_34_1.zip boost 正则表达式 bcb6编译boost_1_34

有个项目要对大量的文本信息进行分析,以前的方法是自己写函数然后进行分析。现在发现一个正则表达式的处理方法,其实正则表达式早就知道的,但是一直么有怎么深入的了解,呵呵,今天发现正则表达式果然在真方面胜人一筹啊。

首先到http://www.boost.org去下载boost_1_34_1.zip(我是在windows下,所以下载的是zip的,当然可以根据不同的系统去下载不同的包了。其实还是转到一个开源的地址下载的。23M吧)。下载完毕后,解压到某个目录就可以了,然后在命令行模式下到这个目录[%Boost]\Libs\RegEx\Build,然后直接用命令make -f bcb6.mak,最终编译完成,会在[%Boost]\Libs\RegEx\Build目录生成一个BCB目录,在这个目录生成了很多lib文件和dll文件,把所有dll文件复制到windows系统目录,所以lib文件复制到bcb6\lib目录。

然后再设置BCB6 Project属性的Lib Path和Include Path为你安装boost的目录。

下面看一个例子:

//例子开始-------------------------

#pragma hdrstop

#include "Unit1.h"
#include <boost/regex.hpp>
#include <string>

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
     : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
try {
     char *src_str = "<meta http-equiv=\"content-type\" content=\"text/html; charset=x-sjis\">"; // 対象文字列
     boost::regex rx( "<META +HTTP-EQUIV=(.*) +CONTENT=(.*) +CHARSET=(.*)>", boost::regex_constants::normal|boost::regex_constants::icase );
     boost::cmatch results;

if( boost::regex_match( src_str, results, rx ) == true ) {
         AnsiString s;
         for( size_t i=1;i<results.size(); ++i ) {
             s += "$" + IntToStr(i) + "=" + AnsiString( results.str(i).c_str() ) + "\r\n";
         }
         ShowMessage( s );
     }
   }
   catch( std::runtime_error &e ) {
     throw Exception( e.what() );
   }

}
//---------------------------------------------------------------------------

//例子结束-------------------------

然后编译,这个时候很可能会出现错误:[Linker Fatal error] Unable to open file 'LIBBOOST_REGEX-BCB-MT-1_34_1.LIB',我在我编译的boost目录下根本没有查找到这个文件,十分的郁闷。但是这个文件是存在的。

然后在网上搜索的这个类似的错误,都没有找到解决方法,根本就没有LIBBOOST_REGEX-BCB-MT-1_34_1.LIB相关的搜索结果。然后我就直接修改了LIBBOOST_REGEX-BCB-MT-1_34.LIB为LIBBOOST_REGEX-BCB-MT-1_34_1.LIB,然后编译顺利通过,呵呵

如果你们有更好的解决方法给我留言啊,或者给我发email:diyisoft@163.com

http://diyisoft.blog.163.com/blog/static/1117807502007724101954460/

boost_1_34_1在c++builder6编译(把所有dll文件复制到windows系统目录,所以lib文件复制到bcb6\lib目录)的更多相关文章

  1. XE2编译出来的DLL的DLLMain的退出地方用到了halt0

    DelphiXE2内存加模块升级版.支持32位和64位模块. 已转至新的博客 http://www.raysoftware.cn/?p=51 很多年以前写过内存加载DLL的一片技术. http://b ...

  2. 几种工具反编译被编译好的DLL文件

    我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL的文件进行修改才能得到我们想要的结果:本文将通过一个实例来演示如果完成一个简单的修改;我们将 ...

  3. 反编译C#的dll文件并修改,再重新生成dll

    1.把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A ...

  4. .Net,Dll扫盲篇,如何在VS中调试已经编译好的dll?

    什么是Dll? DLL 是一个包含可由多个程序同时使用的代码和数据的库. 例如,在 Windows 操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数.因此,每个程序都可以使用该Dll中 ...

  5. 利用openssl管理证书及SSL编程第3部分:将MinGW编译的openssl dll导出def和lib供MSVC使用

    将MinGW编译的openssl dll导出def和lib供MSVC使用 前面我们用mingw把openssl 编译成了动态库,得到下面2个dll文件: libeay32.dll ssleay32.d ...

  6. Visual Studio编译与调用DLL方法

    参考自博客:http://www.cnblogs.com/houkai/archive/2013/06/05/3119513.html 用visual studio 2013新建win32 appli ...

  7. DevExpress 编译成功的 dll

    DevExpress 编译成功的 dll 附注册方法 其它的有些文件没有,如: DevExpress.EasyTest 这个程序集找不到 希望有的朋友可以分享一下, 安装程序集 通常,将程序集安装到G ...

  8. windows编译动态链接库,dll+lib的形式

    之前一直在linux上做开发,没怎么关注过windows上如何编译动态链接库.不过一直存疑,为什么windows上的动态链接库是.dll配合.lib使用的,这个又是怎么生成的呢,通过一段时间的查资料和 ...

  9. .lib文件 .h文件 .dll文件

    .lib代表的是静态数据连接库,在windows系统中起到链接程序和函数的作用,存放的是函数的是函数调用的信息,是obj文件的集合.相当于linux中的.a或.0. .so文件.lib文件是不对外公开 ...

随机推荐

  1. jquery中prop()和attr()的使用

    jquery1.6+出现的prop()方法. • 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. • 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. • ...

  2. Docker---(6)问题:bash: vi: command not found

    原文:Docker---(6)问题:bash: vi: command not found 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://bl ...

  3. Lintcode 将整数A转换为B

    例子 如把31转换为14,须要改变2个bit位. ()10=()2 ()10=()2 贴代码 class Solution { public: /** *@param a, b: Two intege ...

  4. Redis源代码分析(八)--- t_hash哈希转换

    在上次的zipmap分析完之后,事实上关于redis源码结构体部分的内容事实上已经所有结束了.由于以下还有几个和结构体相关的操作类,就页把他们归并到struct包下了.这类的文件有:t_hash.c, ...

  5. Windows Forms 对话框篇

    1,标准对话框 Windows内置的对话框,又叫公用对话框,它们作为组件提供的,并且存在于System.Windows.Forms命名空间中. 手工方式: private void button1_C ...

  6. Java Timer TimerTask Example(java Timer的例子)

    Java java.util.Timer is a utility class that can be used to schedule a thread to be executed at cert ...

  7. 基于AndFix的热修复 成功后简单的总结总结错失

    首先了解热修复是什么东西?? 就我自己简单的理解:就是不须要又一次打包 公布到市场 然后再让用户又一次下载就能够把一些小bug和需求通过补丁的形式进行改动. 然后如今的热修复方式有大致的三种: 1.d ...

  8. HZK16应用实例

    在C51中,HZK16汉字库的使用(mydows's Blog转载) 定义如下: unsigned char str[]="我" 个字节长度,内容为"我"的GB ...

  9. 关于Altium Designer中的搜索图纸上的元件

    一开始以为Altium Designer搜索完成的pcb上的元件用ctrl+f 但是错了,应该是j,c

  10. [Nuxt] Update Vuex State with Mutations and MapMutations in Vue.js

    You commit changes to state in Vuex using defined mutations. You can easily access these state mutat ...