मेरे पास विजुअल स्टूडियो 2010 में एक अप्रबंधित सी ++ प्रोजेक्ट है। यह एक विक्रेता से बूस्ट, ग्लूट और दूसरी लाइब्रेरी का उपयोग करता है।विजुअल स्टूडियो 2010 में गतिशील और स्थैतिक लिंकिंग और तैनाती
मैंने एक और "डीएल-इंडिपेंडेंट" निष्पादन योग्य संभव बनाने के लिए प्रोजेक्ट स्थापित किया है। सभी बूस्ट लाइब्रेरी स्थिर रूप से जुड़े हुए हैं और निर्देशिका में डीएल की कोई आवश्यकता नहीं है जहां निष्पादन योग्य रहता है।
ग्लूट के लिए वही बात, मैंने glut32.dll के बजाय स्थिर glut32.lib को जोड़ा है और फिर कोई समस्या नहीं है।
मैंने रनटाइम पुस्तकालयों के लिए गैर-डीएलएल संस्करण, यानी मल्टीथ्रेडेड डीबग (डीबग कॉन्फ़िगरेशन के लिए) और रिलीज कॉन्फ़िगरेशन के लिए मल्टीथ्रेडेड के लिए चुना है।
अब, विक्रेता जो मैं पहले बोल रहा था, दो विकल्प प्रदान करता है एक विक्रेता.लिब और एक Vendor.dll।
वेंडर.लिब लिंकर-> अतिरिक्त निर्भरताओं में जोड़ा गया है लेकिन रनटाइम पर मुझे हमेशा निष्पादन योग्य की एक ही निर्देशिका में Vendor.dll डालना होगा, अन्यथा रनटाइम पर्यावरण शिकायत करता है क्योंकि यह विक्रेता नहीं मिलता है । डीएल पुस्तकालय।
मुझे इस समस्या को कैसे हल करना चाहिए? मैं प्रत्येक निर्देशिका में .dll फ़ाइल डालने से बचना चाहता हूं।
मैं डीएल को एक्सई की एक ही निर्देशिका में नहीं रखना चाहता हूं और सामान्य रूप से विजुअल स्टूडियो में अप्रबंधित सी ++ कंसोल अनुप्रयोगों को तैनात करने के लिए दिशानिर्देश क्या हैं?
मुझे पता है कि इस तर्क के बारे में कई प्रश्न और पृष्ठ हैं लेकिन इनमें से कोई भी मुझे इस बिंदु को स्पष्ट नहीं करता है।
कुछ विचार?
यह एमएस विशिष्ट नहीं है। लिनक्स में भी आयात पुस्तकालय हैं। – rubenvb
यूनिक्स में दो प्रकार के "पुस्तकालय" हैं: पुस्तकालय (.a फ़ाइलें) और साझा ऑब्जेक्ट्स (.so फ़ाइलें)।एक पुस्तकालय प्रदान करने वाला विक्रेता (सामान्य अर्थ में) आमतौर पर दोनों प्रदान करेगा। यदि आप .a फ़ाइल के विरुद्ध लिंक करते हैं, तो आप स्थिर रूप से लिंक करते हैं, और यदि आप .so के विरुद्ध लिंक करते हैं, तो आप गतिशील रूप से लिंक करते हैं। माइक्रोसॉफ्ट समाधान के साथ समस्या यह है कि 1) आपके पास गतिशील लिंकिंग के लिए दो अलग-अलग फ़ाइलें हैं, और 2) फ़ाइलों में से एक का एक स्थिर पुस्तकालय जैसा ही नाम है। –
आपके उत्तर के लिए धन्यवाद। शायद मैं इस विषय पर उलझन में अकेला नहीं हूं। इसलिए, जैसा कि आप कह रहे हैं, दो प्रकार की .lib फ़ाइलें हैं, एक जब एक गतिशील पुस्तकालय की आवश्यकता होती है और दूसरा जो स्थिर पुस्तकालय हो सकता है। मुझे एक और विक्रेता.लिब फ़ाइल नहीं मिल रही है, इसलिए मुझे लगता है कि मैं पहले मामले में हूं ... धन्यवाद! – linello