2012-11-16 113 views
1

我正在試驗Apache模塊開發,因此我想知道如何將靜態庫鏈接到模塊(如果它甚至可能)。將靜態庫鏈接到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產生的makefile文件。這裏我加了-lzmq。如果我刪除zmq相關的代碼,模塊運行良好。

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

+0

爲什麼不將路徑添加到0MQ庫到Apache運行環境的'LD_LOAD_LIBRARY'環境變量中? – alk

回答

0

好吧,顯然生成的makefile不是一個好主意。我換成基本的編譯命令生成文件的引用,例如:

apxs2 -c -lzmq mod_example.c

ALK在問題的意見建議也將工作(添加庫位置LD_LIBRARY_PATH),因爲我是連接另一個Apache相關庫( apreq),沒有任何問題。