首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Apache2.4中加载完整的库

问如何在Apache2.4中加载完整的库
EN

Stack Overflow用户
提问于 2015-09-07 08:54:02
回答 2查看 403关注 0票数 1

我为Apache2.4创建了一个自定义模块,它使用了一个外部库(MagickWand)。我使用sudo apt-get install libmagickwand-dev安装了它,但是现在,为了在Apache2.4中使用它,我必须做些什么呢?当我重新启动apache2服务时,我得到了关于MagickWand上一个函数的未定义符号错误。我读到应该加载库的共享对象,但是如何创建它呢?使用apxs?哪里?

非常感谢您提前!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-09 15:01:19

apache2中有两个配置文件需要修改:

(适用于linux)

在/etc/apache2中有感兴趣的子目录:

./mods-可用和./mods-启用和./conf-可用和./conf启用

./mods-可用目录包含所有可加载的模块,它们的文件名上都有.load扩展名。

启用./mods的目录包含指向./mods中可加载模块的链接--要加载的可用目录和实际要加载的每个.conf文件(单个可加载模块)的.conf文件链接。

./conf可用目录包含可加载模块的所有.conf文件。

启用./conf的目录包含指向./conf可用目录中将实际使用的可加载模块配置的文件的链接。

然后,在/etc/apache2目录中,文件apache2.conf可以包含(除其他外)这两个语句:

代码语言:javascript
复制
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

这就是引导apache2实际加载模块及其相关的conf文件的原因。

票数 0
EN

Stack Overflow用户

发布于 2017-10-02 14:39:53

以下是帮助他人的对策:

为了使用带有MagickWand库的apxs编译自定义apache模块,首先在C文件中包含头文件wand/magick-wand.h。假设是mod_example.c:

因此,在mod_example.c中添加:

代码语言:javascript
复制
#include "wand/magick-wand.h"

现在,在使用apxs编译模块时,包括MagickWand在构建过程中使用-I标志所需的目录,并使用-l标志提及库名。

代码语言:javascript
复制
sudo apxs -c -i -I/usr/include/ImageMagick-6 -I/usr/include/x86_64-linux-gnu/ImageMagick-6 -lMagickWand-6.Q16 /path/to/mod_example.c

请注意,您的库版本可能有所不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32434651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档