2009-12-12 13 views
10

मैं उबंटू लिनक्स लाइब्रेरी पथ कैसे निर्धारित करूं? यही है, लिंकर को पता है कि मेरे प्रोग्राम को लिंक करते समय ऑब्जेक्ट फाइलों को पकड़ने के लिए कहां मिलना है?उबंटू लिनक्स लाइब्रेरी पथ

उत्तर

8

-L पैरामीटर के साथ-साथ पर्यावरण परिवर्तनीय LD_LIBRARY_PATH का उपयोग करते समय फ़ाइल पथ स्पष्ट रूप से सेट किया जा सकता है।

-L परम का उपयोग करके लिंकर में हार्ड-कोड किए गए कुछ पथ भी हैं। आप कमांड के साथ इन देख सकते हैं:

gcc -Xlinker -v 
4

यदि यह एक मानक पथ (/lib, /usr/lib) नहीं है, आप संकलक ध्वज के साथ स्थान को निर्दिष्ट कर सकते हैं। g++ के लिए, यह -L/some/path/lib है। यदि आप ऑटोोटूल का उपयोग करते हैं, तो आपको एक विशिष्ट पथ की आवश्यकता होने पर बस LDFLAGS=-L/some/path/lib के साथ कॉन्फ़िगर कर सकते हैं। यदि कॉन्फ़िगरेशन को प्रोजेक्ट के लिए ठीक तरह से डिज़ाइन किया गया है, तो इसमें --with-some-library=PATH विकल्प होना चाहिए, जहां आप केवल उस लाइब्रेरी के लिए पथ निर्दिष्ट कर सकते हैं।

6

/etc/ld.so.conf और /etc/ld.so.conf.d/ निर्देशिका में फ़ाइलों को देखें - जहां यह सेट है।

4

लिंक करते समय, आपको यह इंगित करने के लिए -L ध्वज निर्दिष्ट करना होगा कि लाइब्रेरी कहां स्थित है। रनटाइम पर, गतिशील लिंकर "/etc/ld.so.conf", "/etc/ld.so.conf.d/*" और LD_LIBRARY_PATH के मान में दिए गए पथ का उपयोग करता है।

3

"sudo ldconfig" सिस्टम के कैश को अपडेट करता है अगर आपने अभी कुछ नया इंस्टॉल किया है।

संबंधित मुद्दे