5

मैंने ओपन-सोर्स सी ++ एप्लिकेशन, Frhed डाउनलोड और संकलित किया है।सी ++ निष्पादन योग्य - MSVCR100.dll त्रुटि नहीं मिली

जब मैं उस संस्करण को चलाता हूं जिसे मैंने संकलित किया है, तो यह एमएसवीसीआर 100 और कुछ अन्य डीएलएल फाइलों (विज़ुअल सी ++ पुनर्वितरण योग्य का हिस्सा) मांगता है। हालांकि, जब मैं मूल प्रीकंपील्ड फ्रेड निष्पादन योग्य चलाता हूं, तो यह बिना किसी सी ++ पुनर्वितरण योग्य पैकेज के चलाता है।

क्या मुझे सी ++ पुनर्वितरण योग्य पुस्तकालयों से प्रोग्राम को अनलिंक करने के लिए किसी भी संकलन विकल्पों को संशोधित करना है?

उत्तर

13

मूल कार्यक्रम शायद है स्थिर जुड़ा हुआ है, जबकि आप, जो होगा गतिशील रूप से आपकी निष्पादन योग्य है, जो एक छोटे फ़ाइल में परिणाम है, लेकिन अंदर MSVCR100.dll (माइक्रोसॉफ्ट सी रनटाइम लाइब्रेरी के v10) कार्यों पर निर्भरता से जोड़ने के लिए कोशिश कर रहे हैं यदि आप स्थिर रूप से लिंक कर रहे थे तो निष्पादन योग्य के अंदर शामिल किया गया है।

डीएलएल को स्थिर रूप से लिंक करने के लिए, अपने प्रोजेक्ट गुणों में जाएं और बिल्ड मोड को MD से MT में बदलें। विजुअल स्टूडियो 2010/2012 में, वह परियोजना संपत्ति सी/सी ++ -> कोड जनरेशन -> रनटाइम लाइब्रेरी है।

7

संक्षिप्त उत्तर हाँ है, लंबा उत्तर, ठीक है, लंबा है।

पुस्तकालय msvcr100.dllDLL implementation of the C run-time की 10.0 संस्करण (अर्थात, विजुअल स्टूडियो 2010 संस्करण) जो आप शायद/एमडी विकल्प संकलन का उपयोग करके अनुरोध किया है। रन-टाइम के गतिशील रूप से जुड़े संस्करण का उपयोग करने से बचने के लिए आप इसके बजाय/एमटी विकल्प का उपयोग कर सकते हैं और रन-टाइम को स्थिर रूप से लिंक कर सकते हैं।

वैकल्पिक रूप से, आप अपने प्रोग्राम के साथ redistribute msvcr100.dll (and other files) कर सकते हैं।

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