171 votes

Ce qui est libtool ' le fichier .la s ?

Quelqu'un peut-il me dire fichier .la de quel libtool est destiné ? Comment est-il utilisé avec l’objet partagé ?

158voto

Artyom Points 17387

Il est textuelle fichier qui contient la description de la bibliothèque.

Il permet d' libtool créer plate-forme indépendante de noms.

Par exemple, libfoo à la:

Sous linux:

/lib/libfoo.so       # symlink to shared object
/lib/libfoo.so.1     # symlink to shared object
/lib/libfoo.so.1.0.1 # shared object
/lib/libfoo.a        # static library
/lib/libfoo.la       # libtool library

Sous cygwin:

/lib/libfoo.dll.a    # import library
/lib/libfoo.a        # static library
/lib/libfoo.la       # libtool library
/bin/cygfoo_1.dll    # dll

Sous windows mingw:

/lib/libfoo.dll.a    # import library
/lib/libfoo.a        # static library
/lib/libfoo.la       # libtool library
/bin/foo_1.dll       # dll

Donc, libfoo.la est le seul fichier qui a conservé entre les plates-formes en libtool permettant de comprendre ce qui se passe avec:

  • dépendances de la bibliothèque
  • les noms de fichiers réels
  • bibliothèque de version et de révision

Sans fonction spécifique de la plate-forme de mise en œuvre de bibliothèques

15voto

Thomas Leonard Points 2166

Selon http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files, ils sont nécessaires pour gérer les dépendances. Mais l'utilisation de pkg-config peut être une meilleure option:

Dans un monde parfait, chaque bibliothèque statique nécessitant des dépendances aurait son propre .pc fichier pkg-config, et chaque paquet d'essayer de lier statiquement à la bibliothèque serait à l'aide de pkg-config --statique pour obtenir les bibliothèques de lien.

13voto

Rak Points 54

J'ai trouvé une très bonne explication sur .la fichiers ici http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html

Résumé (de La même façon que j'ai compris): Parce que libtool traite statique et dynamique des bibliothèques en interne (par le biais --diable partagés ou --disable-static), il crée un wrapper sur les fichiers de la bibliothèque, il s'appuie. Ils sont traités comme binaire de la bibliothèque fichiers avec libtool environnement pris en charge.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X