मैं पुस्तकालय को जोड़ने और उदारीकरण फ़ाइलों के बारे में एक सवाल है ...कुछ डीएलएल फ़ाइलों को जोड़ने के लिए अतिरिक्त .lib फ़ाइल क्यों चाहिए? =</p> <ul> <li>ओएस = विंडोज</li> <li>आईडीई क्यूटी</li> </ul> <p>मैं एक बनाया है:
इससंदर्भ है डीएलएल: MyLib.dll।
मेरी क्यूटी परियोजना में है कि लाइब्रेरी का उपयोग करने के लिए, मैं सिर्फ राशि शामिल करने के लिए एक रास्ता है, पुस्तकालय के लिए लिंक शामिल और हेडर फाइल का उपयोग करें:
LIBS += "C:\myPath\MyLib.dll"
INCLUDEPATH += "C:\myPath"
HEADERS += \
../myPath/MyLib_global.h \
../myPath/mylib.h
मैं अपने प्रोजेक्ट में एक तीसरी पार्टी dll उपयोग कर रहा हूँ: तीसरे .dll
अगर मैं ऊपर के उदाहरण में के रूप में ही करते हैं, यह काम नहीं करता:
LIBS += "C:\myPath\third.dll"
तृतीय पक्ष DLL एक उदारीकरण फ़ाइल "third.lib" है, जो मैं जाहिरा तौर पर एक साथ उपयोग करने की आवश्यकता के साथ आता है डीएलएल के साथ।
वह क्यों है? कुछ डीएलएल पुस्तकालयों को .lib फ़ाइल की आवश्यकता क्यों है लेकिन अन्य डीएलएल पुस्तकालयों में नहीं है?
क्या यह हो सकता है कि .lib डीएलएल तक पहुंचने वाली एक स्थिर पुस्तकालय है?
बहुत बहुत धन्यवाद!
धन्यवाद @ Merlin069 आपके उत्तर के लिए। यह स्पष्ट करता है! एक बात: जब मैंने myLib.dll बनाया, तो मुझे DLL फ़ाइल के साथ lib फ़ाइल उत्पन्न करने का कोई तरीका नहीं दिखाई दिया। क्या डीएलएल का निर्माण करते समय विकल्प पर है? साथ ही, मेरे डीएलएल में सभी फ़ंक्शन कॉल भी lib फ़ाइल के बिना पहुंच योग्य प्रतीत होते हैं। क्या यह नहीं है कि .lib फ़ाइल को अनुमति देने की अनुमति है? धन्यवाद – WewillSee
डिफ़ॉल्ट रूप से एक आयात पुस्तकालय होना चाहिए। – ExpatEgghead
lib फ़ाइल बनाने के लिए आपके आईडीई में एक सेटिंग होने की संभावना है, अगर यह पहले से ही उत्पन्न नहीं कर रहा है। जहां तक मैं इसे समझता हूं, lib फ़ाइल के बिना, आप अलग-अलग डीएल लोड कर सकते हैं और कार्यों को कॉल कर सकते हैं, लेकिन यदि आप स्थिर पुस्तकालयों के साथ निष्पादन योग्य बनाना चाहते हैं तो lib की आवश्यकता होती है। – TheDarkKnight