在开发Apache模块时使用第三方库的问题

时间:2010-06-19 14:24:21

标签: module apache2 apache libxml2

我正在为我的实习编写一个Apache模块。我正在使用C(我不熟悉Perl或Python)。

我需要使用HTML Parser来解决我正在编写此模块的问题。我正在考虑libxml2用于此目的。

我很困惑应该如何链接模块中的库?我应该在编译模块时链接库还是应该在配置文件中使用LoadFile指令来加载库。

我主要担心的是,虽然我在Ubuntu上开发这个,但我不知道在部署服务器上运行的操作系统是什么。所以我希望它的部署,并发症和成功。

编辑:@Grim:感谢您的回复:)

我使用以下命令编译了模块:

apxs -I / usr / include / libxml2 / -c mod_xmltest.c

sudo apxs -n xmltest_module -i mod_xmltest.la

我相信这不会链接模块中的库,我在启动服务器时遇到“Unresolved Symbols”错误,因此我使用LoadFile指令加载libxml2库。它似乎有效。

你觉得这样会有什么问题吗?我认为这使我的模块更具可移植性,因为在部署服务器上,管理员可以明确指定libxml2库的位置。

1 个答案:

答案 0 :(得分:1)

您应该在编译模块时链接库。

当然有通常的可移植性问题(至少它涉及到非posix操作系统)。在这种情况下,其中一些由apxc解决。不可能说出可能发生的并发症,但你所描述的内容都不会导致任何并发症。