/ / Do czego służy plik .la libtool? - linux, biblioteki, libtool

Do czego służy plik .lab libtool? - linux, biblioteki, libtool

Czym są libtool .la pliki dla? Jak są używane ze wspólnym obiektem?

Odpowiedzi:

123 dla odpowiedzi № 1

Jest to plik tekstowy zawierający opis biblioteki.

To pozwala libtool tworzyć nazwy niezależne od platformy.

Na przykład, libfoo idzie do:

Pod Linuksem:

/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

Pod Cygwin:

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

W systemie Windows MinGW:

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

Więc libfoo.la jest jedynym plikiem, który jest zachowany między platformami przez libtool pozwalając zrozumieć, co dzieje się z:

  • Zależności od bibliotek
  • Rzeczywiste nazwy plików
  • Wersja biblioteki i wersja

Bez zależności od konkretnej implementacji bibliotek przez platformę.


7 dla odpowiedzi nr 2

Według http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files, "są one potrzebne do obsługi zależności. Ale użycie pkg-config może być lepszą opcją:

W idealnym świecie, każda statyczna biblioteka potrzebujezależności miałyby swój własny plik .pc dla pkg-config, a każdy pakiet próbujący statycznie połączyć się z tą biblioteką używałby pkg-config --static, aby połączyć biblioteki z bibliotekami.


6 dla odpowiedzi nr 3

Znalazłem tutaj bardzo dobre wyjaśnienie dotyczące plików .la http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html

Podsumowanie (sposób, w jaki zrozumiałem): Ponieważ libtool zajmuje się wewnętrznie bibliotekami statycznymi i dynamicznymi (poprzez --diable-shared lub --disable-static), tworzy opakowanie dla plików biblioteki, które tworzy. Są one traktowane jako pliki bibliotek binarnych w środowisku obsługiwanym przez libtool.