[普通]PCRE 编译

作者(passion) 阅读(1176次) 评论(0) 分类( 软件)


PCRE(Perl Compatible Regular Expressions)

The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE library is free, even for building proprietary software.


PCRE库提供了正则表达式匹配功能,它使用与Perl 5一致的语法语义。它的API即包括native的API,又包含一套包装了POSIX regular API的API。

PCRE是免费的,也可用于商业用途。


官网:http://www.pcre.org/

下载地址:http://sourceforge.net/projects/pcre/


使用CMake编译PCRE

README的第4节,Building PCRE on non-Unix-like systems,提到无论是否使用autotools,在非UNIX系统下编译PCRE都应参考NON-AUTOTOOLS-BUILD。由于PCRE只用到了Standard C functions,它可以在任何Standard C Compliler/Library的系统下编译。

NON-AUTOTOOLS-BUILD中,包括了在各种非UNIX系统下的编译方法。在windows下,可以手工编译,或通过MinGW或Cygwin,使用"configure, make, make install"这种范例编译,也推荐使用CMake这种更为直接的方式。BUILDING PCRE ON WINDOWS WITH CMAKE一节详细说明了使用CMake编译的步骤和注意事项,摘录并翻译如下:

以下说明贡献自一位PCRE使用者。请保证各条说明都被完全正确执行,否则可能出现错误。如果有错误发生,最好先删除CMake缓存再重新编译。在CMake GUI,可以通过选择"File > Delete Cache"来清空缓存。


1. 从 http://www.cmake.org/下载最新版本的CMake,确保cmake\bin在你的path中(注:我的CMake版本是3.1;安装时注意选择"intsall for all users and add to system path")。

2. 解压PCRE源码到代码目录,如C:\pcre,需保证你的本地时间不能比代码目录文件的日期早。

3. 新建一个新的,空的build目录,最好是代码目录的子目录。如C:\pcre\pcre-xx\build(注:我是把解压出来的文件放在pcre\pcre-8.36下,再在pcre-8.36下建build目录

4. 从你的编译工具的shell环境启动cmake-gui,例如Msys for Msys/MinGW或Visual Studio Command Prompt for VC/VC++。不要尝试从Windows开始菜单启动Cmake,因为这可能导致错误。(注:Visual Studio Command Prompt可以在Visual Studio Tools下找到;点击后进入shell环境,使用"cmake-gui"命令启动cmake的GUI,注意Cmake的早期版本(如2.6)不是此命令。)

5. 在source和build directories处分别填入C:\pcre\pcre-xx and C:\pcre\pcre-xx\build(注:根据我的目录结构,就是C:\pcre\pcre-8.36 and C:\pcre\pcre-8.36\build)

6. 点击"Configure"

7. 选择对应的IDE/build工具(注:一定注意选择完全正确的版本,如果出现错误可以查看log找到原因,并记得delete cache)
8. GUI会列出若干配置选项,就是在这里,你可以使能
UTF-8支持或者其他PCRE可选功能。

9. 再次点击"Configure"。此时,相邻的"Generate"也可以点击了。

10. 点击"Generate"

11. build目录将包括一个可用的build system,对于Visual Studio,就是一个solution文件;对于MinGW就是一些makefiles。从Cmake GUI退出,在你的编译器或IDE下使用生成的build system编译。使用MinGW,可输入“make”命令;使用Visual Studio,就是打开PCRE solution,Debug或者Release编译ALL_BUILD工程。

(注:Release下将生成.lib等文件)


在VS下使用PCRE


1. 添加工程的头文件目录:

    project properties -> C/C++ -> common -> include,填入\pcre\pcre-8.36\build

2. 添加lib库路径:

    project properties -> Linker -> common -> include,填入\pcre\pcre-8.36\build\Release

3. 添加引用的lib文件名:

    project properties -> Linker -> input -> dependencies,填入pcre.lib(pcrecpp.lib pcreposix.lib)


在文件中加入以下语句后,即可以使用PCRE进行正则表达式处理了。

#define PCRE_STATIC

#include "pcre.h"


« 上一篇:wifi共享上网(至尊版wifi)
« 下一篇:MongoDB编译
在这里写下您精彩的评论
  • 微信

  • QQ

  • 支付宝

返回首页
返回首页 img
返回顶部~
返回顶部 img