2013-01-05 6 views
9

मैं खिड़कियों 8.डीबग मोड में समाधान संकलित नहीं किया जा सकता क्योंकि MSVCR100D.dll

साथ एक 64 बिट मशीन पर माइक्रोसॉफ्ट विजुअल स्टूडियो एक्सप्रेस 2012 चला रहा हूँ Windows डेस्कटॉप के लिए लापता है मैं एक पूरी तरह से नए Win32 कंसोल अनुप्रयोग बनाने (सी ++ में) और डिफ़ॉल्ट विकल्प स्वीकार करते हैं। मैं फिर डीबग और रिलीज मोड दोनों में समाधान का निर्माण और चलाता हूं और यह सभी खोज और बेवकूफ काम करता है। इसके बाद मैं गतिशीलSFML लाइब्रेरी के लिए शामिल और लाइब्रेरी निर्देशिका कॉन्फ़िगर करता हूं। मैं डीबग से लिंक करता हूं और .lib फ़ाइलों को रिलीज़ करता हूं और डीबग डालता हूं और उचित निर्देशिकाओं में .dll फ़ाइलों को छोड़ देता हूं। मैं फिर कुछ सरल कोड जोड़ता हूं जो लाइब्रेरी का उपयोग करता है, एप्लिकेशन को डीबग मोड में बनाता है और चलाता है और मुझे यह त्रुटि मिलती है: "The program can't start because MSVCR100D.dll is missing from your computer. Try reinstalling the program to fix this problem." अगर मैं रिलीज मोड में एप्लिकेशन बना और चलाता हूं तो यह कोई त्रुटि नहीं करता है। (और हाँ मेरे पास redistributables स्थापित 32 और 64 बिट है।) अब मैं समझता हूं और this थ्रेड के अनुसार .dll फ़ाइल केवल डीबगिंग के लिए है और पुनर्वितरण योग्य पैकेज में शामिल नहीं है (जो बताएगा कि यह क्यों काम नहीं करता है डीबग मोड में)। जवाब कहता है कि डेवलपर्स ने इसे डिफ़ॉल्ट रूप से विजुअल स्टूडियो के साथ स्थापित किया है। यह स्पष्ट रूप से त्रुटि से सबूत के रूप में मामला नहीं है और मैंने विजुअल स्टूडियो को पुनर्स्थापित कर दिया है और अब मेरे कंप्यूटर को दो बार फिर से शुरू कर दिया है।

निष्कर्ष में, मैं इस त्रुटि को प्राप्त किए बिना डीबग मोड में अपने समाधान को कैसे संकलित करूं?

मुझे डर है कि कोई डुप्लिकेट के रूप में इस का प्रतीक होगा हूँ इसलिए यहाँ हम चले:

  1. LINK - "... आप क्रम की डिबग संस्करण को जोड़ने होना दिखाई देते हैं, तो यह सामान्य नहीं है रनटाइम के डीबग संस्करण के खिलाफ जुड़े ऐप्स वितरित करने के लिए। "

    मुझसे संबंधित नहीं है क्योंकि मैं इस ऐप को वितरित नहीं कर रहा हूं, बस इसे डीबग मोड में चलाने की कोशिश कर रहा हूं।

  2. LINK - "मैंने माइक्रोसॉफ्ट विजुअल सी ++ 2010 एक्सप्रेस संस्करण का उपयोग करके अपना प्रोग्राम संकलित किया और इसे उसी मशीन पर चलाने की कोशिश की जिसमें एक ही कंपाइलर नहीं था।"

    इस व्यक्ति को त्रुटि होती है जब वह किसी भिन्न कंप्यूटर पर संकलित होता है, न कि वास्तव में एप्लिकेशन को संकलित करते समय।

  3. LINK -

    मैं न "यदि आप अपने रिहाई का निर्माण ... के लिए इस त्रुटि मिलती है"।

  4. LINK - रिलीज "तुम में अपनी परियोजना को संकलित कर सकते हैं" "..."

    मेरे परियोजना इसलिए जारी होने की मैं डिबग मोड में अपने प्रोजेक्ट को संकलित करना चाहिए तैयार नहीं है।

+0

शामिल आप SFML उपयोग कर रहे हैं संकलित एमएसवीसी ++ के एक और संस्करण के लिए? आपको या तो अपने कंपाइलर का उपयोग करके सही संस्करण प्राप्त करने या स्रोत से संकलित करने की आवश्यकता होगी। अनुसंधान प्रयास के लिए +1 हालांकि। –

+0

आपको जिस फ़ाइल की आवश्यकता है वह एक पुनर्वितरण योग्य फ़ाइल नहीं है, आप केवल तब प्राप्त करते हैं जब आपके पास आपकी मशीन पर VS2010 इंस्टॉल हो। आगे बढ़ने के लिए आपको एसएफएमएल लाइब्रेरी का वीएस2012 बिल्ड प्राप्त करना होगा। ऐसा लगता है कि यह मुश्किल होगा, यह अभी तक एसएफएमएल साइट से उपलब्ध नहीं है। –

+0

वीएस 2010 एक्सप्रेस डाउनलोड करने और उस फ़ाइल को निकालने का प्रयास करें जिसे आप शायद चाहते हैं। उन सभी लिंक के लिए भी +1। – Mehrdad

उत्तर

2

MSVCR100D.dll, विजुअल स्टूडियो 10 के लिए dll है तो कहीं न कहीं कुछ इस पर निर्भर करता है (SFML DLLs?)। विज़ुअल स्टूडियो 2012 के साथ जो कुछ भी आप संकलित करते हैं (डीबग मोड में) को MSVCR110D.dll की आवश्यकता होगी, जिसे आपको इंस्टॉलेशन के हिस्से के रूप में अपनी मशीन पर उपलब्ध होना चाहिए।

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

(इसके अलावा, निश्चित रूप से 2.0 के बजाय 1.6 की का उपयोग साइट बल्कि भ्रामक है, लेकिन SFML मंचों पर लगभग सभी आप पिछले संस्करण का उपयोग की सिफारिश करेंगे।)

0

MSVCR100D 2010 दृश्य स्टूडियो पैकेज का हिस्सा है - यह दर्शाता है कि आपके सिस्टम के कुछ घटक विजुअल स्टूडियो के पुराने संस्करण के साथ संकलित किए गए हैं, इसलिए आपको विजुअल स्टूडियो 2010 संस्करण स्थापित करने की आवश्यकता होगी - आप शायद 2012 संस्करण के साथ अभी भी विकसित हो सकते हैं, जब तक कि [2010 के] भाग चालू हैं यंत्र।

या आपको कुछ घटकों को पुन: संकलित करने की आवश्यकता है कि आपका एप्लिकेशन 2012 (msvcr110d) पुस्तकालयों का उपयोग करने पर निर्भर करता है - यदि आपके पास सभी स्रोत कोड हैं, तो यह मेरी पसंदीदा विधि होगी।

+0

** डीबग ** संस्करण (एमएसवीसीआर 100 डी) ** ** ** विजुअल स्टूडियो 2010 पुनर्वितरण योग्य पुस्तकालयों का हिस्सा नहीं है। विशेष रूप से विजुअल स्टूडियो के साथ डीबग संस्करण जहाजों। – IInspectable

+0

आह, ठीक है। जवाब में संशोधन होगा ... –

0

यह संदेश आम तौर पर बताता है कि डीएल को आपके आवेदन में प्रत्यक्ष या अप्रत्यक्ष रूप से संदर्भित किया जाता है और गायब है।

अंत में 'डी' हमें दिखाता है कि यह फ़ाइल फ़ाइल का डीबग संस्करण है, यह डीएलएल फ़ाइल विजुअल स्टूडियो 2010 स्थापना के साथ प्रदान की जाती है। तो MSVCR100D.dll विजुअल स्टूडियो 2010

बेशक

की स्थापना के साथ प्रदान की जाएगी, आप 2008 (MSVCR90D) 2010 (MSVCR100D) 2012 (MSVCR110D) या 2013 (MSVCR120D), प्रत्येक dll अन्य संस्करणों याद किया जा सकता विजुअल स्टूडियो संस्करण के अनुसार प्रदान किया जाता है।

There are a few ways to solve this:

  1. Check to be sure that you're compiling all the components of your project in Release mode. If this does not solve the issue continue to the next steps.
  2. You could solve this locally by installing Visual Studio 2010 on your machine. This is not what I would recommend, but it would surely overcome the issue
  3. You could also download the file from this third party website and copy it to your projects bin: http://www.dll-files.com/dllindex/dll-files.shtml?msvcr100d
    This option is the LEAST recommended option.
  4. Run dependency Walker and see what file depends on the MSVCR100D.dll and the try and fix that file in order to break your dependency. You can download depends here: http://www.dependencywalker.com/

    Check to be sure that you're project is linking the correct version of the CRT and any other libraries you may be using (e.g., MFC, ATL, etc.)

नोट: अकेले redistributables स्थापित कर रहा है इस समस्या का समाधान नहीं जाएगा, के बाद से redistributables केवल फ़ाइल MSVCR100.dll के रिलीज़ संस्करण (कोई 'डी' नोटिस)

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