So wandeln Sie die .la-Datei in eine plattformspezifische gemeinsam genutzte lib-Datei um, wie libfoo.la -> libfoo.so. *
theactiveactor
6
Sie können nicht libfoo.la enthält nur Metainformationen, dh in libfoo.la (Textdatei) geschrieben, wo Sie libfoo.so.xyz
Artyom
4
Bedeutet das, dass ich zum Generieren einer .la-Datei libtool verwenden muss (z. B. von automake)? Man kann sich darauf verlassen libtool, die Objektdateien zu verknüpfen ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ), aber wenn ich eine Bibliothek ohne .la verteilen möchte, bedeutet dies, dass das Verknüpfen sehr schwierig sein wird mit Cygwin oder Mingw?
dma_k
Für den Fall, dass jemand diese Version deaktivieren möchte, können Sie -avoid-version in Ihren _la_LDFLAGS anstelle von -version-info
In einer perfekten Welt hätte jede statische Bibliothek, die Abhängigkeiten benötigt, eine eigene PC-Datei für pkg-config, und jedes Paket, das versucht, eine statische Verknüpfung zu dieser Bibliothek herzustellen, würde pkg-config --static verwenden, um die Bibliotheken zum Verknüpfen zu bringen.
Zusammenfassung (so wie ich es verstanden habe): Da libtool intern mit statischen und dynamischen Bibliotheken umgeht (über --diable-shared oder --disable-static), wird ein Wrapper für die von ihm erstellten Bibliotheksdateien erstellt. Sie werden als binäre Bibliotheksdateien in einer von libtool unterstützten Umgebung behandelt.
Antworten:
Es ist eine Textdatei, die eine Beschreibung der Bibliothek enthält.
Es ermöglicht
libtool
die Erstellung plattformunabhängiger Namen.Zum Beispiel
libfoo
geht an:Unter Linux:
Unter Cygwin :
Unter Windows MinGW:
Dies
libfoo.la
ist die einzige Datei, die zwischen Plattformen aufbewahrt wird, indemlibtool
verstanden wird, was passiert mit:Ohne von einer bestimmten Plattform abhängig Implementierung von Bibliotheken.
quelle
libtool
, die Objektdateien zu verknüpfen ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ), aber wenn ich eine Bibliothek ohne .la verteilen möchte, bedeutet dies, dass das Verknüpfen sehr schwierig sein wird mit Cygwin oder Mingw?Laut http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files werden sie benötigt, um mit Abhängigkeiten umzugehen. Die Verwendung von pkg-config ist jedoch möglicherweise eine bessere Option:
quelle
Ich habe hier sehr gute Erklärungen zu .la-Dateien gefunden: http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
Zusammenfassung (so wie ich es verstanden habe): Da libtool intern mit statischen und dynamischen Bibliotheken umgeht (über --diable-shared oder --disable-static), wird ein Wrapper für die von ihm erstellten Bibliotheksdateien erstellt. Sie werden als binäre Bibliotheksdateien in einer von libtool unterstützten Umgebung behandelt.
quelle