więc jak zamienić plik .la na współdzielony plik biblioteki specyficzny dla platformy, taki jak libfoo.la -> libfoo.so. *
theactiveactor
6
Nie możesz libfoo.la przechowuje tylko metainformacje, tj. W libfoo.la (plik tekstowy) zapisane gdzie powinieneś znaleźć libfoo.so.xyz
Artyom
4
Czy to oznacza, że aby wygenerować plik .la muszę użyć libtool (np. Z automake)? Można polegać na libtoollinkowaniu plików obiektowych ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ), ale jeśli chcę dystrybuować bibliotekę bez .la, oznacza to, że będzie to bardzo trudne za pomocą Cygwin lub mingw?
dma_k
W przypadku, gdy ktoś chce wyłączyć tę wersję, możesz użyć -avoid-version w swoim _la_LDFLAGS, zamiast -version-info
W idealnym świecie każda statyczna biblioteka wymagająca zależności miałaby 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 pobrać biblioteki do połączenia.
Podsumowanie (tak jak zrozumiałem): Ponieważ libtool zajmuje się wewnętrznie bibliotekami statycznymi i dynamicznymi (poprzez --diable-shared lub --disable-static), tworzy opakowanie na tworzonych plikach bibliotek. Są one traktowane jako binarne pliki bibliotek w środowisku obsługiwanym przez libtool.
Odpowiedzi:
Jest to plik tekstowy zawierający opis biblioteki.
Pozwala
libtool
na tworzenie nazw niezależnych od platformy.Na przykład
libfoo
idzie do:W systemie Linux:
Pod Cygwinem :
W systemie Windows MinGW:
libfoo.la
Jest to więc jedyny plik zachowywany między platformami,libtool
umożliwiając zrozumienie, co się dzieje z:Bez uzależnienia od konkretnej platformy implementacji bibliotek.
źródło
libtool
linkowaniu plików obiektowych ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ), ale jeśli chcę dystrybuować bibliotekę bez .la, oznacza to, że będzie to bardzo trudne za pomocą Cygwin lub mingw?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ą:
źródło
Znalazłem bardzo dobre wyjaśnienie dotyczące plików .la tutaj http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
Podsumowanie (tak jak zrozumiałem): Ponieważ libtool zajmuje się wewnętrznie bibliotekami statycznymi i dynamicznymi (poprzez --diable-shared lub --disable-static), tworzy opakowanie na tworzonych plikach bibliotek. Są one traktowane jako binarne pliki bibliotek w środowisku obsługiwanym przez libtool.
źródło