में साझा लाइब्रेरी के किसी विशिष्ट संस्करण से कैसे लिंक करते हैं मैं कुछ कोड संकलित कर रहा हूं जो डेबियन लिनक्स सिस्टम पर libcurl का उपयोग करता है। मेरी देव मशीन डेबियन 5 चला रही है लेकिन मैं चाहता हूं कि बाइनरी पुराने डेबियन 4 सिस्टम पर भी प्रयोग योग्य हो।आप जीसीसी
मैं अगर मैं -lcurl यह libcurl.so.4 से लिंक करेगा लेकिन डेबियन 4 सिस्टम केवल libcurl.so.3
है निर्दिष्ट करते हैं कि पता चलता है कि किसी तरह से मैं जीसीसी बताने के लिए लिंक करने के लिए कर सकते हैं या तो libcurl.so.3 (जो डेबियन 4 और 5 दोनों में मौजूद है) या सिर्फ libcurl.so तो यह भी संस्करण का उपयोग करेगा?
पुराने डेबियन पर, libcurl.so libcurl.so.3 के लिए एक symlink नहीं है? मेरा मतलब है, यह अजीब लग रहा है कि -lcurl डिफ़ॉल्ट रूप से सही बात नहीं है। –
कस्तौयरा: संस्करण नहीं हैं, या कम से कम बाइनरी संगत नहीं माना जा सकता है। तो जब आप इसे लिंक करते हैं तो बाइनरी में इसके खिलाफ जुड़े बड़े संस्करण को रिकॉर्ड किया जाता है: यदि आप नए सिस्टम पर संकलित करते हैं तो इसे संस्करण 4 की आवश्यकता होगी और पुराने सिस्टम पर काम नहीं करेगा। (असल में यह रिकॉर्ड करता है कि सोनम, जो लाइब्रेरी फ़ाइल में संग्रहीत एक स्ट्रिंग है जो पारंपरिक रूप से कुछ नहीं है लेकिन "libcurl.so.3") –