C++ में एक विजुअल स्टूडियो प्रोजेक्ट में मेरी DLL को जोड़ना




project add-in (2)

मेरे पास इस क्षण के सामने वी.एस. नहीं है, लेकिन इसे स्थापित करने के लिए ये सामान्य कदम होना चाहिए:

Properties->Linker->Input: your.lib
Properties->Linker->Additional Library Directories: ../your/bin
Properties->General->Compiler->Additional Include Directories: ../your/include

अपने ऐप का निर्माण करने के लिए, डीएलएल के एपीआई शीर्षकों को संकलन-समय के लिए शामिल करना होगा, यह लिंक-टाइम के लिए बिन में लीब फाइल है। एक बार आपका ऐप EXE हो जाने के बाद, आपको केवल DLL को उसी फोल्डर में रखने की आवश्यकता है, जो आपके EXE को कार्यान्वित करता है।

आप वीएल में एक आम हल में डीएलएल परियोजना और ऐप प्रोजेक्ट भी जोड़ना चाह सकते हैं और एप से डीएलएल तक परियोजना निर्भरता जोड़ सकते हैं। यह भवन के सही क्रम को सुनिश्चित करता है, यह मानते हुए कि आप डीएलएल का निर्माण बिल्कुल भी कर रहे हैं।

मैं एक प्रोजेक्ट पर काम कर रहा हूं जिसमें एक डायनेमिक लिंक लाइब्रेरी बनाने की आवश्यकता है, इसलिए मैं विजुअल स्टूडियो में कन्सोल ऐप में इसका परीक्षण करना चाहता हूं।

DLL को भी विजुअल स्टूडियो में बनाया गया है, इसमें कुछ ज्यादा नहीं है, इसमें कुछ फ़ंक्शन हैं मुझे यकीन नहीं है अगर मुझे प्रॉपर्टीज में शामिल निर्देशिका पैनल में लाइब्रेरी शीर्षलेख शामिल करना है, या कुछ और करें

बहुत सारे लोगों का कहना है कि मुझे लाइब्रेरी या संदर्भ निर्देशिका में इसके संबंधित .lib फ़ाइल को शामिल करना है, लेकिन मुझे यकीन नहीं है कि वीएस डीएलएल के साथ .lib फ़ाइल उत्पन्न करता है। मैं वी.एस. 2015 का उपयोग कर रहा हूं


आप जो भी करते हैं वह कर सकते हैं।

  1. आप अपने समाधान निर्देशिका के अंदर एक Libs निर्देशिका बना सकते हैं।
  2. तब आप Libs निर्देशिका या Libs अंदर कुछ उप-डायरेक्टरी के अंदर अपने। डीएलएल फाइल रख सकते हैं

    • मेरे मामले में, मैंने वहां पूरी SFML-2.3.2 निर्देशिका जोड़ा, जिसमें स्रोत-कोड, .lib फ़ाइलें और .dll फ़ाइलें शामिल थीं।
    • मैंने परियोजना के गुणों में जो कुछ भी कर पाया था, उसका लिंक किया था, लेकिन मैंने सॉल्यूशन डायरेक्टरी में पथ नाम भरने के लिए विज़ुअल स्टूडियो के मैक्रोज़ का इस्तेमाल किया था। बस के मामले में मैं इसे संस्करण नियंत्रण में रखना चाहता था और कई मशीनों से उस पर काम करना चाहता था।
  3. फिर मैंने प्रोजेक्ट की प्रॉपर्टी पेज खोला।

  4. संपत्ति के पृष्ठ के भीतर, मैं बिल्ड इवेंट्स -> पोस्ट बिल्ड इवेंट -> कमांड लाइन पर गया
  5. कमांड लाइन के भीतर, आप एक कॉपी कमांड जोड़ सकते हैं जो किसी भी आवश्यक फाइल को एक ही निर्देशिका में निष्पादन योग्य के रूप में प्रतिलिपि करेगी जो उन्हें आवश्यकता होगी।
    • मेरे मामले में मैंने इसका इस्तेमाल किया: copy "$(SolutionDir)Libs\SFML-2.3.2\bin\*" "$(TargetDir)"
    • मैं सिर्फ उन व्यक्तिगत फाइलों की प्रतिलिपि बनाने के लिए कई आज्ञाओं को लिख सकता था जिनकी मुझे ज़रूरत थी, लेकिन मैंने वास्तव में इसे स्थापित किए बिना एसएफएमएल को काम करने के लिए तीन घंटे अच्छा खर्च किया था।




visual-studio-2015