当前位置:首页 » 操作系统 » pcre源码安装

pcre源码安装

发布时间: 2025-08-08 15:11:09

⑴ Apache遇到的问题 APR not found问题的解决方法

解决Apache遇到的APR not found问题的方法如下

  1. 下载并安装APR

    • 访问APR下载页面下载APR源码包。
    • 解压源码包,并进入解压后的目录。
    • 运行./configure命令进行配置。
    • 运行make命令进行编译
    • 运行make install命令进行安装。
  2. 下载并安装APR-Util

    • 访问APR-Util下载页面下载APR-Util源码包。
    • 解压源码包,并进入解压后的目录。
    • 运行./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr命令进行配置(注意将/usr/local/apr替换为你实际安装APR的路径)。
    • 运行make命令进行编译。
    • 运行make install命令进行安装。
  3. 下载并安装PCRE库

    • 访问PCRE下载页面下载PCRE源码包。
    • 解压源码包,并进入解压后的目录。
    • 运行./configure --prefix=/usr/local/pcre命令进行配置。
    • 运行make命令进行编译。
    • 运行make install命令进行安装。
  4. 重新配置Apache

    • 在重新配置Apache时,加上--with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre参数,确保Apache能够找到之前安装的APR、APR-Util和PCRE库。
  5. 编译并安装Apache

    • 运行make命令进行编译。
    • 运行make install命令进行安装。
  6. 设置Apache启动和自启动

    • 复制Apache启动文件到/sbin/目录,方便管理。
    • 在/etc/rc.d/rc.local文件中添加启动Apache的命令,或者将httpd服务添加到ntsysv服务管理工具中。
    • 修改Apache启动脚本的权限,并确保其能被系统服务管理工具识别。
  7. 防火墙设置

    • 如果局域网内其他电脑无法访问Apache服务器,可能是因为防火墙阻止了80端口的访问。可以停止防火墙服务,或者放开80端口。

通过以上步骤,你应该能够解决Apache遇到的APR not found问题,并成功安装和配置Apache服务器。如果在安装过程中遇到任何错误,请仔细检查每一步的配置和命令是否正确执行。

⑵ pcre验证是否安装

可以通过以下几种方法验证PCRE是否安装:

命令行查询
  • RPM包管理系统(如CentOS/RHEL):在终端执行 rpm -qa | grep pcre ,若输出包含 pcre 或 pcre-devel,则已安装,如 pcre-8.32-17.el7.x86_64。
  • DEB包管理系统(如Ubuntu/Debian):使用命令 dpkg -l | grep pcre ,若有输出则表明已安装。
  • 通用方法(适用于源码安装):运行 pcre-config --version ,若返回版本号(如 8.45),则安装成功,但需确保 pcre-config 在环境变量 PATH 中。
文件路径检查

源码安装通常默认路径为 /usr/local/lib 或指定路径(如 /usr/local/pcre),可通过 ls /usr/local/lib | grep libpcre 确认库文件;也可通过 ls /usr/local/include | grep pcre.h 检查头文件。

编译验证

编写简单C程序(如 test_pcre.c),代码为 #include <pcre.h> int main() { return 0; } ,使用 gcc test_pcre.c -lpcre -o test_pcre 进行编译。若无报错,且生成可执行文件 test_pcre,则PCRE可用。

需注意,部分Linux发行版(如CentOS 7)默认预装PCRE基础库,但可能缺少开发包(pcre-devel),可通过 yum install pcre-devel 补充。同时,Apache、Nginx等软件对PCRE版本有要求,建议通过 pcre-config --version 确认版本是否满足需求。

c语言 正则库 pcre 教程 (windows环境)

1、编译PCRE正则表达式库

(1) (MinGW + MSYS)

将PCRE源码包直接拷贝到MSYS目录下,(如:C:\MSYS\1.0\pcre\)

运行msys.bat启动MSYS,

在命令行输入

cd / // 回根目录

cd pcre // 进入PCRE目录

./configure // 配置编译

make // 编译全部

完成后,会在C:\MSYS\1.0\pcre\.libs\ 下生成所需要的文件:

libpcre-0.dll // PCRE的动态链接库

libpcre.dll.a // 调用PCRE动态链接库所用的LIB

libpcre.a // PCRE静态链接库

再配合上C:\MSYS\1.0\pcre\目录下的"pcre.h",就可以在程序中加入正则表达式支持了:)

(2) (于windows平台手动编译pcre,转载)

将 config.h.generic 重命名为 config.h
设置其中的 HAVE_BCOPY 参数为 0 (因为windows平台无b()函数)
重命名 pcre.h.generic 为 pcre.h.
重命名 pcre_chartables.c.dist 为 pcre_chartables.c.
编译 dftables.c 成可执行文件,要加入参数 -DHAVE_CONFIG_H,以便导入 config.h 文件中的设置
/* 重命名 pcre_chartables.c.dist 为 pcre_chartables.c */
运行编译的可执行文件 dftables.exe ,参数为 pcre_chartables.c
即 dftables.exe pcre_chartables.c
新建工程,包含下列文件,编译成lib文件即可
pcre_internal.h
ucp.h
ucpinternal.h
ucptable.h
pcre_chartables.c
pcre_compile.c
pcre_config.c
pcre_dfa_exec.c
pcre_exec.c
pcre_fullinfo.c
pcre_get.c
pcre_globals.c
pcre_info.c
pcre_maketables.c
pcre_newline.c
pcre_ord2utf8.c
pcre_refcount.c
pcre_study.c
pcre_tables.c
pcre_try_flipped.c
pcre_ucp_searchfuncs.c
pcre_valid_utf8.c
pcre_version.c
pcre_xclass.c

这样就可以生成 libpcre.a 文件了 (vc,bcc生成的是pcre.lib,大同小异)

2、使用生成的 libpcre.a (静态链接库)

在你的程序中添加:

#define PCRE_STATIC // 开启静态链接库支持(一定要添加该行,否则无法使用静态链接库)
#include "pcre.h" // PCRE头文件
并且添加 libpcre.a 到工程中,然后就可以在程序中使用PCRE函数了:)

编译选项 添加 /MT ,无头文件预编译.

3、使用生成的 libpcre-0.dll 和 libpcre.dll.a (动态链接库)

在你的程序中添加:

#include "pcre.h" // PCRE头文件

并且添加 libpcre.dll.a 到工程中,然后就可以在程序中使用PCRE函数了:)

================================================================================

命令行下的批处理解决方法 .如果已经下载,可以不用第一行.

goto START

首先确保控制台环境中有:
1、VC6命令行编译环境
2、wget.exe、unzip.exe、sed.exe、mv.exe
然后执行这个批处理文件,就可以得到VC版本的pcr.lib。

:START
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.zip
unzip pcre-7.7.zip
cd pcre-7.7
sed -e "s/#define HAVE_BCOPY 1/#define HAVE_BCOPY 0/g" config.h.generic > config.h
mv pcre.h.generic pcre.h
mv pcre_chartables.c.dist pcre_chartables.c
cl -MD -DHAVE_CONFIG_H dftables.c
dftables.exe pcre_chartables.c
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
lib -out:libpcr.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

这样就出来了: pcre.h + libpcr.lib

==============================================================================

最近使用VC编译了一下她的源代码,其实步骤很简单, 如下

1 一些源文件改名
config.h.generic 改名为 config.h (注意里面的配置)
pcre.h.generic 改名为 pcre.h
pcre_chartables.c.dist 改名为 pcre_chartables.c

2 建立VC工程
建立一个VC的DLL工程,去掉原有的包含文件
将PCRE的所有pcre_*.c都加进去, pcre后面没有_的不要加, 后缀名是.cc的不要加
可以参考上面的.还有.h 文件也是要的.

3 修改工程设置

增加工程预编译宏 HAVE_CONFIG_H
不使用预编译头 Not Using Precompiled Headers
编译选项 添加 /MT

OK 完成以上三步,就可以在 VC 上编译通过了。

4 编译结果
使用时只需要编译出来的 .DLL .Lib 和 源代码目录的 pcre.h

热点内容
linux怎么编译c文件 发布:2025-09-18 09:55:16 浏览:301
python安装后无法运行 发布:2025-09-18 09:45:57 浏览:236
安卓手机怎么剪辑音乐 发布:2025-09-18 09:44:16 浏览:781
服务器地址修改在哪找 发布:2025-09-18 09:42:41 浏览:441
sntp服务器地址 发布:2025-09-18 09:28:36 浏览:552
phpunit 发布:2025-09-18 09:25:19 浏览:571
怎么改服务器的ip地址吗 发布:2025-09-18 09:24:33 浏览:12
编译703n固件 发布:2025-09-18 08:50:59 浏览:539
三星手机系统文件夹是哪个文件夹 发布:2025-09-18 08:48:45 浏览:282
rmijava 发布:2025-09-18 08:38:26 浏览:21