समाधान एक्सप्लोरर विंडो, गुण, सी/सी ++, कोड जनरेशन, रनटाइम लाइब्रेरी सेटिंग में अपनी प्रोजेक्ट पर राइट-क्लिक करें। इसे/एमटीडी में बदलें। रिलीज कॉन्फ़िगरेशन के लिए दोहराएं, चुनें/एमटी
अब आप सीआरटी के स्थिर संस्करण को लिंक करेंगे, जो आपके द्वारा उपयोग किए जाने वाले किसी भी फ़ंक्शन को सीधे आपके EXE में कनेक्ट होने के बजाय रनटाइम पर msvcr100.dll से प्राप्त करने के बजाय लिंक किया जाएगा। इसलिए अब आपके प्रोग्राम के साथ डीएलएल को तैनात करने की आवश्यकता नहीं है।
यदि आप अपना खुद का डीएलएल बनाते हैं तो इस विकल्प का उपयोग करने से बचें। यह तब महत्वपूर्ण हो जाता है कि उन डीएलएल और EXE सटीक उसी सीआरटी का उपयोग करें ताकि वे सभी एक ही सीआरटी राज्य और एक ही ढेर साझा कर सकें। क्योंकि यदि वे नहीं करते हैं तो आपको सी ++ ऑब्जेक्ट्स या पॉइंटर्स को गुजरने में ग़लत समस्याएं होंगी जिन्हें कोड के एक हिस्से से दूसरे में रिलीज़ करने की आवश्यकता है। यदि आप भाग्यशाली हैं, तो एक एक्सेस रिलेशन, यदि आप नहीं हैं तो स्मृति रिसाव।
स्रोत
2012-05-17 13:33:24
आप इंटेल या जीसीसी जैसे अन्य C++ पुस्तकालयों के खिलाफ विकसित कर सकते हैं, लेकिन अगर आप गतिशील रूप से पुस्तकालय से लिंक और यह रनटाइम पर उपलब्ध नहीं है, अपने कार्यक्रम नहीं चलेंगे के खिलाफ। स्थिर रूप से लिंक करना काम करेगा। – birryree
किस पुस्तकालय के खिलाफ पेंट इत्यादि जुड़ा हुआ है? या वे सभी स्थिर रूप से सी lib के साथ जुड़े हुए हैं? – Erik
पेंट एक पुराने msvcr के खिलाफ विकसित किया गया है और वह डिफ़ॉल्ट रूप से विंडोज़ में पहले ही स्थापित है। – birryree