1

我正在试验 Apache 模块开发,因此我想知道如何将静态库链接到模块(如果可能的话)。

自然地,它可以很好地编译和安装,并且在加载模块时 Apache 会失败。消息是:

Cannot load /usr/lib/apache2/modules/mod_example.so into server: /usr/lib/apache2/modules/mod_example.so: undefined symbol: zmq_socket

我要链接的库是 zeromq,我使用的是由apxs2. 在这里我添加了-lzmq. 如果我删除 zmq 相关代码,模块运行良好。

我的平台是 Ubuntu 12.04 64 位,gcc4.6.3。

4

1 回答 1

0

好吧,显然生成的makefile不是一个好主意。我用基本的编译命令替换了 makefile 引用,例如:

apxs2 -c -lzmq mod_example.c

alk 在问题评论中的建议也可以工作(将库位置添加到LD_LIBRARY_PATH),因为我正在链接另一个与 apache 相关的库(apreq),该库链接没有任何问题。

于 2012-11-16T12:06:45.200 回答