मैं कुछ समय से विजुअल स्टूडियो का उपयोग कर रहा हूं, मुख्य रूप से सी ++ के लिए विकसित कर रहा हूं। मुझे अक्सर समाधान बनाने की आवश्यकता होती थी, जिसमें एकाधिक मॉड्यूल (प्रोजेक्ट्स) होते थे - उदाहरण के लिए उपयोगिता लाइब्रेरी, जिसमें .dll
फाइलें शामिल थीं।विजुअल स्टूडियो में सी ++ प्रोजेक्ट के संदर्भ जोड़ने के क्या परिणाम हैं?
जब एक मॉड्यूल (ए) एक और (बी) का उपयोग करने के लिए की जरूरत है, इसके लिए मानक पैटर्न है:
- आवश्यक हेडर शामिल करें।
- बी से लिंक आउटपुट लाइब्रेरी फ़ाइल (उदाहरण के लिए, वीएस में: प्रोजेक्ट कॉन्फ़िगर ->
Linker
->Input
->Additional Dependencies
->'B.lib'
)। - [वैकल्पिक] सेटअप उचित निर्माण आदेश (इसलिए बी ए से पहले बनाया गया है)।
हाल ही में मैं, के साथ सी # चारों ओर खेलने के लिए शुरू कर दिया है क्योंकि मैं (यह बहुत आसान है, सी ++ और क्यूटी या wxWidgets जैसे बाहरी पुस्तकालयों का उपयोग करने से) इसके साथ मेरी इंजन के लिए कुछ जीयूआई आधारित उपकरण विकसित करने का फैसला। जब मुझे पता चला
मैं बहुत हैरान था, कि यह विकल्प भी सी ++ परियोजनाओं के लिए लागू होता है: मुझे पता चला, सी # में, इस तरह निर्भरता 'संदर्भ' का उपयोग कर स्थापित कर रहे हैं कि!
वास्तव में, मैंने नमूना समाधान बनाया और इस तरह निर्भरताओं को सेट करने के बाद, सब कुछ ठीक काम कर रहा था, बिना किसी अतिरिक्त कॉन्फ़िगरेशन जैसे "लिंकर इनपुट" या कुछ।
मेरा प्रश्न है: बिल्कुल इस विकल्प सी ++ परियोजनाओं के लिए क्या करता है? मुझे सभी मुनाफे और संभावित व्यापार-बंद में दिलचस्पी है।
मुझे पहले से ही पता है, यह अन्य परियोजनाओं से निर्भरता के रूप में सेट आउटपुट का कारण बनता है। और कुछ? शायद संदर्भित मॉड्यूल के बीच कुछ रनटाइम निर्भरताएं? यह जेनरेट आउटपुट को कैसे प्रभावित करता है?
एक प्रोजेक्ट संदर्भ स्वचालित रूप से अन्य प्रोजेक्ट की इसी बिल्ड कॉन्फ़िगरेशन (डीबग लाइब्रेरी के अनुप्रयोग के लिए डीबग लाइब्रेरी) से आउटपुट लेता है। मैन्युअल रूप से सेट अप करने के लिए यह एक उचित काम होगा। –
इसके अलावा, चूंकि आपने डीएलएल का उल्लेख किया है, हां प्रोजेक्ट संदर्भ बिल्ड आउटपुट, .lib आयात लाइब्रेरी और रनटाइम के लिए डीएलएल दोनों में खींच जाएगा। –