jadi bagaimana untuk Anda mengubah file .la untuk platform tertentu bersama file lib, seperti libfoo.la -> libfoo.so *.
theactiveactor
6
Anda tidak dapat libfoo.la hanya memegang informasi meta, yaitu di libfoo.la (file teks) yang ditulis di mana Anda harus menemukan libfoo.so.xyz
Artyom
4
Apakah ini berarti bahwa untuk menghasilkan file .la, saya harus menggunakan libtool (misalnya dari automake)? Orang dapat mengandalkan libtooluntuk menautkan file objek ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ) tetapi jika saya ingin mendistribusikan perpustakaan tanpa .la, artinya itu akan sangat sulit untuk ditautkan dengan itu menggunakan Cygwin atau mingw?
dma_k
Jika ada orang yang ingin menonaktifkan hal-hal versi ini, Anda dapat menggunakan -avoid-versi di _la_LDFLAGS Anda, alih-alih -versi-info
Dalam dunia yang sempurna, setiap pustaka statis yang memerlukan dependensi akan memiliki file .pc untuk pkg-config, dan setiap paket yang mencoba menautkan pustaka ke pustaka itu akan menggunakan pkg-config --static untuk mendapatkan pustaka yang akan ditautkan.
Rangkuman (Cara saya mengerti): Karena libtool menangani pustaka statis dan dinamis secara internal (melalui --diable-shared atau --disable-static) ia membuat pembungkus pada file pustaka yang dibuatnya. Mereka diperlakukan sebagai file perpustakaan biner dengan lingkungan yang didukung libtool.
Jawaban:
Ini adalah file tekstual yang menyertakan deskripsi perpustakaan.
Ini memungkinkan
libtool
untuk membuat nama platform-independent.Misalnya,
libfoo
buka:Di bawah Linux:
Di bawah Cygwin :
Di bawah Windows MinGW:
Jadi
libfoo.la
adalah satu-satunya file yang dipertahankan antara platform denganlibtool
memungkinkan untuk memahami apa yang terjadi dengan:Tanpa tergantung pada platform implementasi perpustakaan tertentu.
sumber
libtool
untuk menautkan file objek ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ) tetapi jika saya ingin mendistribusikan perpustakaan tanpa .la, artinya itu akan sangat sulit untuk ditautkan dengan itu menggunakan Cygwin atau mingw?Menurut http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files , mereka diperlukan untuk menangani dependensi. Tetapi menggunakan pkg-config mungkin merupakan opsi yang lebih baik:
sumber
Saya menemukan penjelasan yang sangat bagus tentang file .la di sini http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
Rangkuman (Cara saya mengerti): Karena libtool menangani pustaka statis dan dinamis secara internal (melalui --diable-shared atau --disable-static) ia membuat pembungkus pada file pustaka yang dibuatnya. Mereka diperlakukan sebagai file perpustakaan biner dengan lingkungan yang didukung libtool.
sumber