में डीएलएल बनाने के दौरान एक स्थिर लाइब्रेरी का उपयोग करना मैं विजुअल स्टूडियो 12 समुदाय का उपयोग कर डीएलएल बनाने की कोशिश कर रहा हूं जो ओपनसीवी पर निर्भर करता है।विजुअल स्टूडियो
मैं ओपनसीवी को .lib फ़ाइलों के रूप में शामिल करना चाहता हूं इसलिए मुझे इसे अलग-अलग वितरित करने की आवश्यकता नहीं है, लेकिन मुझे अपनी फ़ाइल को डीएलएल के रूप में बनाने की आवश्यकता है।
लेकिन मैं एक डीएलएल में एक lib आयात करने के लिए विजुअल स्टूडियो को कॉन्फ़िगर नहीं कर सकता। में
मेरे परियोजना है -> गुण -> विन्यास गुण -> सामान्य -> विन्यास प्रकार,
मैं चुनें "स्थिर पुस्तकालय (उदारीकरण)" और में:
मेरे परियोजना -> गुण - > विन्यास गुण -> कुलपति ++ निर्देशिकाएँ -> लाइब्रेरी निर्देशिकाएँ,
मैं OpenCV उदारीकरण फ़ाइलों के लिए पथ का चयन करें, और में
मेरे परियोजना -> गुण -> विन्यास गुण -> लिंकर -> अतिरिक्त निर्भरता
मैं प्रत्येक .lib का संदर्भ जोड़ता हूं, यह काम करता है।
लेकिन अगर मैं विन्यास प्रकार बदल कर "गतिशील पुस्तकालय (.dll)", दृश्य स्टूडियो मुझसे कहता है:
opencv_highgui2410d.lib(window.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in VectorsImport.obj
ऐसा लगता है मैं केवल उदारीकरण फाइलों के साथ फ़ाइलों उदारीकरण कर सकते हैं। लेकिन ऐसा लगता है कि यह बहुत ही असंभव है। मैंने इसे देखा है, लेकिन मुझे केवल .lib फ़ाइलों या .dll फ़ाइलों या दूसरे में से एक को बनाने के तरीके पर मार्गदर्शिकाएं मिलती हैं। यह बहुत आसान होना चाहिए, लेकिन मैं इसे समझ नहीं सकता। मैं लिनक्स में प्रयोग किया जाता हूं, जहां एक .o आसानी से एक .so में शामिल किया जा सकता है। यह मुझे पहेली करता है।
त्रुटि से, opencv.lib गतिशील लिंकिंग के लिए है, आपको गतिशील लिंक का उपयोग करना चाहिए। – Matt