¿Para qué son los archivos .la
de libtool? ¿Cómo se usan con un objeto compartido?¿Para qué sirve el archivo .la de libtool?
Respuesta
Es un archivo de texto que incluye una descripción de la biblioteca.
Permite libtool
crear nombres independientes de la plataforma.
Por ejemplo, libfoo
va a:
En 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
Bajo Cygwin:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # libtool library
/bin/cygfoo_1.dll # DLL
En Windows MinGW:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # 'libtool' library
/bin/foo_1.dll # DLL
Así libfoo.la
es el único archivo que se conserva entre las plataformas por libtool
que permite comprender lo que sucede con:
- dependencias de bibliotecas
- nombres de los archivos
- versión de la biblioteca y revisión
Sin dependiendo en una implementación de plataforma específica de bibliotecas.
así que cómo convertir el archivo .la a un archivo lib compartido de plataforma específica, como libfoo.la -> libfoo.so. * – theactiveactor
Puede ' t libfoo.la contiene solo metainformación, es decir, en libfoo.la (archivo de texto) escrito donde debería encontrar libfoo.so.xyz – Artyom
¿Significa que para generar un archivo .la, necesito usar libtool (por ejemplo, de automakeke))? Uno puede confiar en 'libtool' para vincular los archivos objeto (http://www.gnu.org/software/libtool/manual/html_node/Using-Automake.html) pero si quiero distribuir una biblioteca sin .la, ¿significa que será muy difícil vincularse con Cygwin o mingw? –
Según http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files, son necesarios para manejar dependencias. Pero el uso de pkg-config puede ser una mejor opción:
En un mundo perfecto, cada biblioteca estática necesidad dependencias tendría su propio archivo .pc para PKG-config, y cada paquete que intenta vincular estáticamente a la biblioteca haría utilice pkg-config --static para hacer que las bibliotecas se vinculen.
me pareció muy buena explicación acerca de los archivos .la aquí http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
Resumen (La forma en que entendí): Debido a ofertas libtool con las bibliotecas estáticas y dinámicas internamente (a través de --diable-compartida o --disable -static) crea un contenedor en los archivos de biblioteca que crea. Se tratan como archivos de biblioteca binarios con el entorno compatible con libtool.
- 1. ¿Para qué sirve el archivo NW MainWindow.xib?
- 2. ¿Para qué sirve el archivo Nuget repositories.config?
- 3. ¿Para qué sirve un archivo .dbml.layout?
- 4. ¿Para qué sirve el operador "==="?
- 5. ¿Para qué sirve __path__?
- 6. ¿Para qué sirve el archivo Makefile Target `.c.o`?
- 7. ¿Para qué sirve la firma MZ en un archivo PE?
- 8. ¿Para qué sirve __NULL_IMPORT_DESCRIPTOR para (archivo de mapa MSVC)?
- 9. ¿Para qué sirve pushState?
- 10. ¿Para qué sirve memcache.hash_strategy?
- 11. ¿Para qué sirve Clojure?
- 12. ¿Para qué sirve el ThreadGroup de Ruby?
- 13. ¿Para qué sirve generator.throw()?
- 14. ¿Para qué sirve UnmanagedMemoryStream?
- 15. System.Web.Abstractions: ¿para qué sirve?
- 16. ¿Para qué sirve PowerShell?
- 17. ¿Para qué sirve cURL?
- 18. ¿Para qué sirve la ventana de Hamming?
- 19. sem_init (...): ¿Para qué sirve el parámetro pshared?
- 20. ¿Para qué sirve AnyVal.types?
- 21. ¿Para qué sirve Enum?
- 22. ¿Para qué sirve Automapper?
- 23. Cakephp, ¿para qué sirve?
- 24. ¿Para qué sirve SDKDDKVer.h?
- 25. ¿Para qué sirve ApplicationDomain.domainMemory?
- 26. ¿Para qué sirve el modificador 'asmlinkage'?
- 27. ¿Para qué sirve el generador GWT?
- 28. ¿Para qué sirve el functor aplicativo 'Const'?
- 29. ¿Para qué sirve el atributo citar?
- 30. JSON RPC - ¿Para qué sirve el "id"?
También http://stackoverflow.com/q/12237282/632951 – Pacerier