GNU/Linux >> Linux Esercitazione >  >> Linux

A cosa servono i file .la di libtool?

È un file testuale che include una descrizione della libreria.

Permette libtool per creare nomi indipendenti dalla piattaforma.

Ad esempio, libfoo va a:

Sotto 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

Sotto Cygwin:

/lib/libfoo.dll.a    # Import library
/lib/libfoo.a        # Static library
/lib/libfoo.la       # libtool library
/bin/cygfoo_1.dll    # DLL

In Windows MinGW:

/lib/libfoo.dll.a    # Import library
/lib/libfoo.a        # Static library
/lib/libfoo.la       # 'libtool' library
/bin/foo_1.dll       # DLL

Quindi libfoo.la è l'unico file conservato tra piattaforme da libtool permettendo di capire cosa succede con:

  • Dipendenze di libreria
  • Nomi di file effettivi
  • Versione e revisione della libreria

Senza dipendere da una specifica implementazione della piattaforma delle librerie.


Secondo http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files, sono necessari per gestire le dipendenze. Ma usare pkg-config potrebbe essere un'opzione migliore:

In un mondo perfetto, ogni libreria statica che necessita di dipendenze avrebbe il proprio file .pc per pkg-config e ogni pacchetto che tenta di collegarsi staticamente a quella libreria userebbe pkg-config --static per ottenere il collegamento alle librerie.


Ho trovato un'ottima spiegazione sui file .la qui http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html

Riepilogo (come ho capito):poiché libtool si occupa internamente di librerie statiche e dinamiche (tramite --diable-shared o --disable-static) crea un wrapper sui file di libreria che crea. Sono trattati come file di libreria binari con un ambiente supportato da libtool.


Linux
  1. Quali comandi mancano nel tuo file bashrc?

  2. Che cosa significa "rc" in .bashrc?

  3. A cosa servono gli inode?

  4. Qual è una buona soluzione per la codifica dei file in Linux?

  5. Qual è l'equivalente del comando File Linux per Windows?

Cos'è umask in Linux?

Cos'è ZFS? Perché le persone ne vanno pazze?

Cosa sono gli inode in Linux?

Che cos'è un database distribuito e a cosa servono i sistemi di dati distribuiti?

Cos'è un file .sh?

A cosa serve il test di Linux:un test di comando?