¿Cuál es la mejor manera de AC_CHECK_LIB una biblioteca que tiene más de dependencias externas?
-
20-08-2019 - |
Pregunta
He escrito una biblioteca que tiene una dependencia en libxml++ y rizado y estoy teniendo un tiempo difícil averiguar cómo utilizar AC_CHECK_LIB
en mi biblioteca en otro paquete que he escrito.El config.log
archivo para el nuevo paquete indica que no se han definido las referencias a curl_*
y xmlpp::*
.
Tengo PKG_CHECK_MODULES
el programa de instalación para libxml++ y la curvatura en mi nuevo paquete ya, y los que trabajo, pero que aparentemente no están disponibles para la AC_CHECK_LIB
llamada por mi propia biblioteca.(Tengo los cheques para libxml++ y curl antes de que el cheque por mi propia biblioteca)
Solución
¿Por qué no acaba de proporcionar una pkg-config
archivo de metadatos (*.pc
) para su paquete.De esa manera, los clientes podrían utilizar PKG_CHECK_MODULES
y las cosas Simplemente Funcionan.
Pero el hecho de que usted está teniendo este problema sugiere que no vinculación de la biblioteca con libxml++ y libcurl-y probablemente debería ser.En la mayoría de los sistemas modernos (incluyendo Linux), bibliotecas compartidas saber acerca de sus dependencias.
Otros consejos
No sé cómo llamar a AC_CHECK_LIB
, porque no está en su pregunta, pero supongo que no tiene sus dependencias especificadas como otras bibliotecas.
La sintaxis es:
AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])
así que pon [-lcurl ...]
como último argumento.