我编写了一个依赖于libxml ++和curl的库,我很难在我编写的另一个包中找出如何在我的库中使用AC_CHECK_LIB
。新包的config.log
文件表示存在对curl_*
和xmlpp::*
的未定义引用。
我已经在我的最新软件包中设置了PKG_CHECK_MODULES
libxml ++和curl,这些工作正常,但它们显然不适用于我自己库的AC_CHECK_LIB
调用。 (在检查我自己的库之前,我检查了libxml ++和curl)
答案 0 :(得分:7)
我不知道你怎么称呼AC_CHECK_LIB
,因为它不在你的问题中,但我的猜测是你没有将你的依赖项指定为其他库。
语法为:
AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])
所以把[-lcurl ...]
作为最后一个参数。
答案 1 :(得分:4)
为什么不为您的软件包提供pkg-config
元数据文件(*.pc
)。这样客户就可以使用PKG_CHECK_MODULES
,而事情就是Just Work。
但是你遇到这个问题的事实表明你没有将你的库与libxml ++和libcurl链接起来 - 而你可能应该这样做。在大多数现代系统(包括Linux)上,共享库了解它们的依赖关系。