Каков наилучший способ AC_CHECK_LIB библиотеки, которая имеет дополнительные внешние зависимости? - PullRequest
0 голосов
/ 26 июня 2009

Я написал библиотеку, которая зависит от libxml ++ и curl, и мне трудно понять, как использовать AC_CHECK_LIB в моей библиотеке в другом пакете, который я написал. Файл config.log для нового пакета указывает на наличие неопределенных ссылок на curl_* и xmlpp::*.

У меня есть PKG_CHECK_MODULES настройка для libxml ++ и curl в моем новейшем пакете, и они работают, но они, очевидно, недоступны для вызова AC_CHECK_LIB для моей собственной библиотеки. (У меня есть проверки для libxml ++ и curl перед проверкой для моей собственной библиотеки)

Ответы [ 2 ]

7 голосов
/ 26 июня 2009

Я не знаю, как вы называете AC_CHECK_LIB, потому что это не в вашем вопросе, но я предполагаю, что вы не указали свои зависимости как другие библиотеки.

Синтаксис:

AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])

поэтому укажите [-lcurl ...] в качестве последнего аргумента.

4 голосов
/ 01 июля 2009

Почему бы вам просто не предоставить файл метаданных pkg-config (*.pc) для вашего пакета. Таким образом, клиенты могут использовать PKG_CHECK_MODULES, и все будет просто работать.

Но тот факт, что у вас возникла эта проблема, говорит о том, что вы не связываете свою библиотеку с libxml ++ и libcurl - и, вероятно, так и должно быть. На большинстве современных систем (включая Linux) разделяемые библиотеки знают о своих зависимостях.

...