2010-09-25 8 views
55
  • सांत्वना कमांड लाइन परियोजना ++ एक सी के साथ एक नया समाधान
  • एक नई परियोजना बनाएँ, एक सी ++ स्थिर पुस्तकालय
  • करने की अपेक्षा की जानी चाहिए से स्थिर पुस्तकालयों autolinking नहीं कमांड लाइन प्रोजेक्ट लाइब्रेरी
  • पर निर्भर करें सुनिश्चित करें कि कॉन्फ़िगरेशन => लिंकर => सामान्य (यह डिफ़ॉल्ट रूप से है)
  • विजुअल स्टूडियो अभी भी लाइब्रेरी को लिंक नहीं करेगा, "लिंक लाइब्रेरी निर्भरता" चालू है।

मैं इसे कैसे ठीक कर सकता हूं? यह विजुअल स्टूडियो 2008विजुअल स्टूडियो 2010 परियोजनाओं निर्भरता हैं के रूप में यह

उत्तर

80

यह अभी भी काम करता है में काम किया, लेकिन वी.एस. 2010 में changed था:

"VS2010 के साथ, हम अंतर्निहित संदर्भ को परिभाषित परियोजना निर्भरता समर्थन बंद कर दिया और हम भी इस परियोजना को परिभाषित करने का एक नया तरीका पेश किया परियोजना स्तर पर निर्भरता। चूंकि एक परियोजना संदर्भ और एक परियोजना निर्भरता एक परियोजना के लिए आवेदन करने के करीब करीबी अवधारणाएं हैं, इसलिए यह प्रोजेक्ट फ़ाइल में, एक निरंतर तरीके से, एक साथ प्रतिनिधित्व करने के लिए समझ में आया। जैसा कि आप स्निपेट में देखेंगे नीचे, एक परियोजना संदर्भ परिभाषा और एक परियोजना निर्भरता परिभाषा के बीच एकमात्र अंतर मेटाडेटा में होता है जो मुख्य परियोजना एल में आउटपुट असेंबली समावेशन/बहिष्करण को परिभाषित करता है। स्याही कमांड लाइन। हालांकि हमने "परियोजना निर्भरता" संवाद को नहीं हटाया है, हम "फ्रेमवर्क और संदर्भ" संवाद के माध्यम से नई परियोजना निर्भरताओं को परिभाषित करने की सलाह देते हैं। आप "सांत्वना परियोजना पर बस राइट क्लिक करें

करें," एक परियोजना निर्भरता के लिए और एक परियोजना के संदर्भ के लिए सही करने के लिए गलत पर "संदर्भ विधानसभा आउटपुट" संपत्ति पेज यूआई में संपत्ति सेट करना होगा। गुण > सामान्य गुण-> फ्रेमवर्क और संदर्भ-> नया संदर्भ जोड़ें "और स्थिर लाइब्रेरी प्रोजेक्ट जोड़ें; यह भी जांचें कि" लिंक लाइब्रेरी निर्भरता "दायीं ओर सही है। डीबग और रिलीज बिल्ड के लिए काम करने लगता है। आप कुछ नया सीखते हैं हर दिन;।)

+4

में आप मौजूदा समाधान के लिए परियोजनाओं को जोड़ने की आवश्यकता? तब स्थिर पुस्तकालयों का क्या मतलब है? –

+5

@UtkarshSinha आपको समाधान के लिए स्थिर लाइब्रेरी प्रोजेक्ट जोड़ने की "आवश्यकता" नहीं है, लेकिन यदि यह समाधान का हिस्सा नहीं है, तो विजुअल स्टूडियो इसे नहीं बना सकता है। यदि आपके पास पूर्व-निर्मित स्थैतिक पुस्तकालय है जो समाधान का हिस्सा नहीं है, तो यह संपूर्ण प्रश्न आपके लिए लागू नहीं होता है। – Qwertie

+0

मैं कहूंगा "[एम $ यह सुनिश्चित करता है कि हमें हर दिन कुछ नया सीखना होगा] (http://www.joelonsoftware.com/articles/fog0000000339.html)"> :) –

22

वे किसी भी तरह से यह दर्शाता है कि यह अब काम करता है VS2010 में C++ जोड़ने परियोजना निर्भरता के लिए यूआई बदल गया है, लेकिन अजीब तरह से पर्याप्त, पुराने UI को हटाए बिना, या

। 10

वीएस -2010 में निर्भरता बनाने के लिए, आपको "नया संदर्भ जोड़ें" (परियोजना प्रॉपर्टीज में पाया जा सकता है) का उपयोग करने की आवश्यकता है, और शायद प्रोजेक्ट के राइट-क्लिक मेनू में भी (यहां देखने के लिए वीएस नहीं है)

पुराने "परियोजना निर्भरता" संवाद मूल रूप से टूटा हुआ है।

+3

इसके अलावा, संवाद शुद्ध सी ++ परियोजनाओं के लिए भी नेट फ्रेमवर्क के बारे में कुछ कहता है। माइक्रोसॉफ्ट ने स्पष्ट रूप से कई परियोजनाओं के समाधान पर बुनियादी यूआई परीक्षण भी नहीं किया है। यह वास्तव में इस धारणा को छोड़ रहा है कि विजुअल स्टूडियो केवल हैलो, विश्व आकार की परियोजनाओं के लिए है। – MSalters

+1

पुराना यूआई _two_ चीजें करने के लिए प्रयोग किया जाता था, और इन्हें अलग कर दिया गया है। पुराना यूआई अभी भी निर्भरता ऑर्डरिंग संकलित करता है, प्रोजेक्ट गुण अब लिंकिंग को संभालते हैं। सिर्फ इसलिए कि बी को बी से पहले संकलित करने की आवश्यकता है इसका मतलब यह नहीं है कि बी को ए –

+0

वीएस 2017 से लिंक करना चाहिए और आईटी अभी भी ब्रोकन है! @ # $! @ # $! @ # $ लेकिन हटाया नहीं गया है। जेएफसी। > :( – Mordachai

3

मेरा मानना ​​है कि पुरानी यूआई (निर्भरता) दृश्य स्टूडियो के लिए निर्माण आदेश को प्रभावित करती है, जब आईडीई के भीतर से निर्माण करते समय जानकारी के लिए। नई प्रोजेक्ट कॉन्फ़िगरेशन सिस्टम प्रत्येक प्रोजेक्ट फ़ाइल में संदर्भों को एम्बेड करता है ताकि आप आईडीई के बाहर से निर्माण कर सकें (जबकि पिछले संस्करणों में, आप नहीं कर सकते थे, क्योंकि आप निर्भरताओं के लिए स्वचालित लिंक नहीं प्राप्त करेंगे, क्योंकि निर्भरता केवल समाधान स्तर पर ही की जाती थीं)।

नई प्रणाली में अधिक जटिल परियोजनाओं के साथ कुछ मुद्दे भी हैं; विशेष रूप से, सभी परिणामी बाइनरी परियोजनाओं को सही ढंग से निर्माण करने के लिए प्रत्येक निर्भर पुस्तकालय के स्पष्ट संदर्भ होने की आवश्यकता होती है, जबकि पहले उन्हें प्रभावी रूप से अन्य आश्रित पुस्तकालयों से विरासत में प्राप्त किया जा सकता था। हालांकि, वही अंतर्निहित कारण है।

3

एमएसवीसी 14 (2015 संस्करण) के लिए प्रोजेक्ट पर राइट-क्लिक करें, फिर "Add->Reference..." और सभी आवश्यक निर्भरताओं की जांच करें।

हां, यह 2010 और 2015 के संस्करणों के बीच कहीं भी बदल गया है। मज़ा!

और यदि आप उस प्रोजेक्ट को लिंक करना चाहते हैं जिसमें संसाधन हैं - आपको .res फ़ाइल को सीधे लिंकर इनपुट निर्भरताओं (प्रोजेक्ट के गुण संवाद बॉक्स) की सूची में निर्दिष्ट करने की आवश्यकता है क्योंकि इसे द्वारा उठाया नहीं जाता है उपरोक्त विन्यास।

अद्यतन

फिर भी एक ही (नया) व्यवहार MSVC 2017

+1

के लिए जरूरी है बस आपको यह सब बताएं कि यह एमएसवीसी 2017 के लिए भी काम करता है। –

संबंधित मुद्दे