जवाबों:
यह एक टेक्स्ट फाइल है जिसमें लाइब्रेरी का विवरण शामिल है।
यह libtool
प्लेटफ़ॉर्म-स्वतंत्र नाम बनाने की अनुमति देता है।
उदाहरण के लिए libfoo
:
लिनक्स के तहत:
/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
साइगविन के तहत :
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # libtool library
/bin/cygfoo_1.dll # DLL
विंडोज MinGW के तहत:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # 'libtool' library
/bin/foo_1.dll # DLL
तो libfoo.la
प्लेटफ़ॉर्म के बीच एकमात्र ऐसी फ़ाइल है जिसे libtool
समझने की अनुमति देकर प्लेटफार्मों के बीच संरक्षित किया जाता है:
पुस्तकालयों के एक विशिष्ट मंच कार्यान्वयन के आधार पर बिना।
libtool
ऑब्जेक्ट फ़ाइलों ( gnu.org/software/libtool/manual/html_node/Using-Automake.html ) को लिंक करने के लिए भरोसा कर सकता है, लेकिन अगर मैं .la के बिना लाइब्रेरी वितरित करना चाहता हूं, तो क्या इसका मतलब लिंक करना बहुत मुश्किल होगा। यह Cygwin या mingw का उपयोग करने के साथ?
Http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files के अनुसार , उन्हें निर्भरताएं संभालने की आवश्यकता है। लेकिन pkg-config का उपयोग करना एक बेहतर विकल्प हो सकता है:
एक आदर्श दुनिया में, निर्भरता की आवश्यकता वाले प्रत्येक स्थिर पुस्तकालय के पास pkg-config के लिए अपनी स्वयं की .pc फ़ाइल होगी, और उस पुस्तकालय से सांख्यिकीय रूप से लिंक करने का प्रयास करने वाला प्रत्येक पैकेज लिंक करने के लिए पुस्तकालयों को प्राप्त करने के लिए pkg-config --static का उपयोग करेगा।
मुझे यहाँ .la फ़ाइलों के बारे में बहुत अच्छी व्याख्या मिली। http://openbooks.sourceforge.net/books/wga/dealing-with-lbooks.html
सारांश (जिस तरह से मुझे समझ में आया): क्योंकि libtool स्थिर और गतिशील पुस्तकालयों के साथ आंतरिक रूप से व्यवहार करता है - (साझा करने योग्य-साझा करने योग्य या स्थिर करने के लिए) यह लाइब्रेरी फ़ाइलों पर एक आवरण बनाता है जो इसे बनाता है। उन्हें लिबेटूल समर्थित वातावरण में बाइनरी लाइब्रेरी फ़ाइलों के रूप में माना जाता है।