Quel est le meilleur moyen d’AC_CHECK_LIB une bibliothèque qui comporte des dépendances externes supplémentaires?

StackOverflow https://stackoverflow.com/questions/1046913

  •  20-08-2019
  •  | 
  •  

Question

J'ai écrit une bibliothèque qui dépend de libxml ++ et de curl et j'ai du mal à comprendre comment utiliser AC_CHECK_LIB sur ma bibliothèque dans un autre paquet que j'ai écrit. Le fichier config.log du nouveau package indique qu'il existe des références non définies à curl_* et à xmlpp::*.

J'ai déjà PKG_CHECK_MODULES la configuration de libxml ++ et curl dans mon dernier paquet, mais ceux-ci fonctionnent, mais ils ne sont apparemment pas disponibles pour l'appel <=> de ma propre bibliothèque. (J'ai les vérifications pour libxml ++ et curl avant la vérification pour ma propre bibliothèque)

Était-ce utile?

La solution

Pourquoi ne fournissez-vous pas simplement un pkg-config fichier de métadonnées (*.pc) pour votre package. De cette façon, les clients pourraient utiliser PKG_CHECK_MODULES et tout irait bien.

Mais le fait que vous rencontriez ce problème suggère que vous ne liez pas votre bibliothèque avec libxml ++ et libcurl - et vous devriez probablement le faire. Sur la plupart des systèmes modernes (y compris Linux), les bibliothèques partagées connaissent leurs dépendances.

Autres conseils

Je ne sais pas comment vous appelez AC_CHECK_LIB, car ce n'est pas dans votre question, mais je suppose que vos dépendances ne sont pas spécifiées comme autres bibliothèques.

La syntaxe est la suivante:

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

alors mettez [-lcurl ...] comme dernier argument.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top