Comment liez-vous à une version spécifique d'une bibliothèque partagée dans GCC

Je compile un code qui utilise libcurl sur un système Linux Debian. Mon dev le fonctionnement de la machine Debian 5, mais je veux que le binaire pour être utilisable sur les anciens Debian 4 systèmes.

Je trouve que si je spécifier -lcurl il sera lié à la libcurl.donc.4 mais Debian 4 systèmes ont libcurl.donc.3

Est-il une manière que je peux demander à GCC de lien vers libcurl.donc.3 (qui existe dans les deux Debian 4 et 5) ou tout simplement libcurl.ainsi donc, il faudra utiliser n'importe quelle version est disponible ?

  • Sur les anciens Debian, n'est-ce pas libcurl.donc un lien symbolique vers libcurl.donc.3 ? Je veux dire, il semble étrange que -lcurl n'est pas la bonne chose par défaut.
  • kastauyra: les versions ne sont pas, ou au moins ne peut pas être supposé, compatible binaire. Donc quand vous faites le lien, c'est la version majeure liée à l'encontre du binaire: si vous compilez le plus récent système, il exigera de version 4 et de ne pas travailler sur l'ancien système. (En fait, ce qu'il enregistre est le soname, qui est une chaîne de caractères stockée dans le fichier de la bibliothèque qui, conventionnellement, mais pas nécessairement est quelque chose de "libcurl.donc.3")
InformationsquelleAutor Adam Pierce | 2009-05-06