Проблемы использования сторонних библиотек при разработке модулей Apache - PullRequest
1 голос
/ 19 июня 2010

Я пишу модуль 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 Ответ

1 голос
/ 19 июня 2010

Вы должны связать библиотеку при компиляции вашего модуля.

Есть, конечно, обычные проблемы с переносимостью (по крайней мере, это касается не-posix ОС). В этом случае некоторые из них решаются с помощью apxc . Невозможно сказать, какие осложнения могут возникнуть, но ничто из того, что вы описываете, не должно вызывать каких-либо проблем.

...