woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

利用 VC 编译 Pcre

文/ Fenying

  以前用Greta,但怎么都觉得不爽,特别是用惯了PHP的我,用着POSIX的正则表达式很不习惯。

  于是今天琢磨了下Pcre,这个号称最强大的正则表达式库……

  不过,比起Greta最郁闷的就是编译Pcre了……

  在网上找了一段实在不怎么有用,居然要用到mv.exe,Windows XP下上哪找去?

  能用rename为什么要用mv.exe?

  把那段编译脚本“强改”以后,就成了下面的样子了……

  当然你还是得有sed.exe

  如果没有请点此下载 sed.exe

  然后把sed.exe放到pcre源码目录下,把下面的文字保存为make.bat,用cmd进入pcre目录,运行make即可。

@echo off
echo 正在预处理...
echo ------------------------------------------
copy /y config.h.generic bak.h.generic
sed -e "s/#define HAVE_BCOPY 1/#define HAVE_BCOPY 0/g" config.h.generic > config.h
copy /y pcre.h.generic pcre.h
copy /y pcre_chartables.c.dist pcre_chartables.c
echo ------------------------------------------
echo 正在编译 dftables.exe ...
echo ------------------------------------------
cl -MD -DHAVE_CONFIG_H dftables.c
dftables.exe pcre_chartables.c
echo ------------------------------------------
echo 正在编译源代码为Obj文件...
echo ------------------------------------------
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_chartables.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_compile.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_config.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_dfa_exec.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_exec.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_fullinfo.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_get.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_globals.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_info.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_maketables.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_newline.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_ord2utf8.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_refcount.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_study.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_tables.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_try_flipped.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_ucp_searchfuncs.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_valid_utf8.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_version.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_xclass.c
echo ------------------------------------------
echo 正在生成Lib文件...
echo ------------------------------------------
lib -out:pcre.lib pcre_chartables.obj pcre_compile.obj pcre_config.obj pcre_dfa_exec.obj pcre_exec.obj pcre_fullinfo.obj pcre_get.obj pcre_globals.obj pcre_info.obj pcre_maketables.obj pcre_newline.obj pcre_ord2utf8.obj pcre_refcount.obj pcre_study.obj pcre_tables.obj pcre_try_flipped.obj pcre_ucp_searchfuncs.obj pcre_valid_utf8.obj pcre_version.obj pcre_xclass.obj
echo ------------------------------------------
echo 正在还原...
echo ------------------------------------------
copy /y bak.h.generic config.h.generic
echo ------------------------------------------
echo 正在清理...
del *.obj
del dftables.exe
del bak.h.generic
del config.h
del dftables.lib
del dftables.exp
del pcre_chartables.c
echo ------------------------------------------
echo 完成
echo 最终生成列表:
echo -       pcre.lib
echo -       pcre.h
echo ------------------------------------------
pause
@echo on

  最后生成pcre.lib和pcre.h两个文件。

posted on 2009-09-07 21:47 肥仔 阅读(2076) 评论(0)  编辑 收藏 引用 所属分类: 库 & 代码段


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理