代码之家  ›  专栏  ›  技术社区  ›  Abhinav Upadhyay

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

  •  1
  • Abhinav Upadhyay  · 技术社区  · 16 年前

    我正在为实习写一个Apache模块。我使用C来完成这个任务(我对Perl或Python不太熟悉)。

    我需要使用HTML解析器来解决我编写这个模块的问题。为此,我考虑使用libxml2。

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

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

    编辑:@grim:谢谢回复:)

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

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

    sudo apxs-n xmltest_模块-i mod_xmltest.la

    我相信这不会链接模块中的库,我在启动服务器时遇到“未解决的符号”错误,所以我使用loadfile指令加载libxml2库。它似乎起作用了。

    你认为这样会有什么问题吗?我认为这使得我的模块更易于移植,就像在部署服务器上,管理员可以显式地指定libxml2库的位置一样。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Grim    16 年前

    编译模块时应链接库。

    当然,还有一些常见的可移植性问题(至少在非POSIX操作系统中是这样)。在这种情况下,其中一些问题是通过 apxc . 不可能说出可能发生的并发症,但你所描述的一切都不会引起任何并发症。

    推荐文章