Yanıtlar:
Kitaplığın açıklamasını içeren metinsel bir dosyadır.
libtool
Platformdan bağımsız adlar oluşturulmasına izin verir .
Örneğin, şu libfoo
adrese gider:
Linux altında:
/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
Altında Cygwin :
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # libtool library
/bin/cygfoo_1.dll # DLL
Windows MinGW altında:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # 'libtool' library
/bin/foo_1.dll # DLL
Yani libfoo.la
tarafından platformlar arasında korunur yalnızca dosyasıdır libtool
ile ne olacağını anlamak için izin:
Belirli bir platforma bağlı olmadan kütüphanelerin uygulanması.
libtool
Nesne dosyalarını ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ) bağlamak için güvenebilirsiniz, ancak .la olmadan bir kütüphane dağıtmak istiyorsam, bağlantı kurmanın çok zor olacağı anlamına gelir Cygwin veya mingw kullanarak?
Http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files'a göre , bağımlılıkları ele almaları gerekiyor. Ancak pkg-config kullanmak daha iyi bir seçenek olabilir:
Mükemmel bir dünyada, bağımlılık gerektiren her statik kitaplığın pkg-config için kendi .pc dosyası olur ve bu kitaplığa statik olarak bağlanmaya çalışan her paket, kitaplıkların bağlanmasını sağlamak için pkg-config - statik kullanır.
Burada .la dosyaları hakkında çok iyi bir açıklama buldum http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
Özet (Anladığım şekilde): libtool dahili ve statik kütüphanelerle (--diable-shared veya --disable-static yoluyla) ilgilentiği için oluşturduğu kütüphane dosyalarında bir sarıcı oluşturur. Bunlar, libtool destekli ortamda ikili kütüphane dosyaları olarak ele alınır.