Windows下VS2010编译PCRE
- 前言:
- 下载PCRE源代码
- 对源代码进行一些处理
- 创建VS2010工程编译PCRE
- C语言使用PCRE的小例子
前言:
在JAVA和PHP语言中正则表达式是自带的,不需要额外的工作就能使用到,然而在C语言中,要使用正则表达式则需要花费一番功夫。虽然linux平台下有正则表达式库,从VS2008开始也提供正则表达式库的支持,但是假设一段代码需要在两个平台下编译运行,那么使用本地平台的API则会导致不好移植。
所以,百度了许多资料,终于找到了PCRE这个库。不过,这个库在windows平台下编译则需要多花费点心思,为了避免日后忘记和给同样想要编译尝试使用pcre库的人一个经验,特写下这篇博客作为记录。
一、下载PCRE源代码:
官网地址: www.pcre.org
里面有pcre 和pcre2的源码,我门只需要下载最新版的pcre源码就好。比如:pcre-8.39.tar.bz2。
二、对源代码进行一些处理:
1、 将源码根目录下的config.h.generic 重命名为 config.h。
编辑器打开,看看有没有HAVE_MEMMOVE和HAVE_BCOPY的宏定义,如>果有就将其注释掉。关键是HAVE_BCOPY的宏定义,因为windows并没有bcopy()这个函数。
定义SUPPORT_UTF宏,config.h里默认是/* #undef SUPPORT_UTF */,将>其修改为:#define SUPPORT_UTF 1。否则,则不支持Utf-8编码的文本。2、 将源码根目录下的pcre.h.generic 为 pcre.h。
3、 将源码根目录下的pcre_chartables.c.dist 为 pcre_chartables.c。
三、创建VS2010工程编译PCRE
1、 打开VS2010,选择Win32控制台应用程序,输入项目名字: