मुझे पता है कि यह अन्य स्थानों में पूछा गया है और उत्तर दिया गया है, लेकिन मुझे एमएस विजुअल स्टूडियो 2010 के साथ समस्याएं आ रही हैं। मैंने सी ++ निष्पादन योग्य विकसित किया है, लेकिन यदि मैं रिलीज़ संस्करण चलाता हूं एक मशीन जिसमें वीसी ++ रनटाइम लाइब्रेरी नहीं है (यानी, msvcr100d.dll), मुझे "प्रोग्राम प्रारंभ नहीं हो सकता है क्योंकि msvcr100d.dll आपके कंप्यूटर से गुम है" त्रुटि।विजुअल सी ++ निष्पादन योग्य और अनुपलब्ध MSVCR100d.dll
यह दो कारणों से अजीब है:
- ऐसा क्यों है पुनर्वितरण की डिबग संस्करण के साथ लिंक करने के लिए कोशिश कर रहा है?
- मैंने this fix को लागू करने का प्रयास किया, रनटाइम लाइब्रेरी सेटिंग को/एमडी (बहु-थ्रेडेड डीएलएल) के बजाय/MT पर सेट किया, लेकिन इससे केवल समस्या खराब हो गई (अगर मैंने मैन्युअल रूप से msvcr100d.dll की प्रतिलिपि बनाई है, तो उसने कहा कि यह नहीं हो सका msvcp110.dll खोजें)।
कैसे इतना है कि मैं मशीनों एमएस कुलपति 2010 या पुनर्वितरण स्थापित नहीं है कि पर चला सकते हैं मैं अपने निष्पादन के साथ क्रम पुस्तकालय पैकेज कर सकते हैं?
मुझे पता है कि इसे डीएलएल की एक प्रति शामिल करने के लिए सुरक्षा जोखिम माना जाता है क्योंकि इसे कभी अपडेट नहीं किया जाएगा, लेकिन मेरा लक्ष्य केवल इस निष्पादन योग्य को अल्प अवधि में कुछ दोस्तों को भेजना है।
के लिए खुला
Project properties -> Configuration properties -> C/C++ -> Code generation
और परिवर्तन विकल्प आप उपयोग कर से क्या मतलब है '/ MT' सेटिंग ने चीजों को और खराब कर दिया? इसे डीएलएल रनटाइम पर निर्भरता को हटा देना चाहिए। क्या आपकी परियोजना अन्य डीएलएल पर निर्भर करती है? वे डीबग रनटाइम के आधार पर अनुचित रूप से क्या हो सकते हैं। निर्भरता वॉकर जैसी उपयोगिता यह समझने में आपकी सहायता कर सकती है कि क्या यह मामला है: http://www.dependencywalker.com –@ एली: मुझे नहीं लगता कि लोगों को वास्तव में सुरक्षा जोखिम के बारे में बहुत अधिक परवाह है जब वे आपको डीएलएल को पुनर्वितरित न करने के बारे में बताते हैं , क्योंकि आप वैसे भी स्थिर रूप से लिंक कर सकते हैं। यह किसी और चीज की तुलना में एक लाइसेंसिंग मुद्दा है। – Mehrdad
@MichaelBurr निर्भरता वाकर पुष्टि की है कि DLLs में से एक अपने प्रोजेक्ट पर निर्भर करता है msvcr100d.dll पर निर्भर करता है। यह पता चला है कि रिलीज मोड में डीएलएल नहीं बना रहा था। धन्यवाद। – mgiuffrida