2015-10-07 7 views
36

मैंने अभी अपना पहला प्रोग्राम सी ++ में विकसित किया है और मैं इसे अपने दोस्तों में से एक के साथ दिखाना चाहता था। अफसोस की बात है, जब वह exe खोलने की कोशिश करता है तो यह एक त्रुटि हो जाती है जो कहती है "MSVCP140.dll गुम है"। यह समस्या क्यों हो रही है और वह इसे कैसे ठीक कर सकता है?MSVCP140.dll

उत्तर

53

या तो अपने मित्रों क्रम DLL डाउनलोड (@ Kay का जवाब) बनाने के लिए, या स्थिर जोड़ने के साथ एप्लिकेशन को संकलित करें।

दृश्य स्टूडियो में, डिबग मोड के लिए /MTd और /MT चुनें रिलीज़ मोड के लिए क्रम पुस्तकालय पर Project tab -> properties - > configuration properties -> C/C++ -> Code Generation में जाते हैं।

इससे संकलक को रनटाइम को ऐप में एम्बेड करने का कारण बन जाएगा। निष्पादन योग्य काफी बड़ा होगा, लेकिन यह रनटाइम डीएलएस की आवश्यकता के बिना चलाएगा।

+0

क्या आप शायद संख्याएं जोड़ सकते हैं "हैलो world.exe" गतिशील और स्थैतिक लिंकिंग के साथ कितना बड़ा है? – kay

+3

@ के स्टेटिक लिंकिंग आमतौर पर केवल पुस्तकालय में सबकुछ नहीं, केवल आवश्यक है। निष्पादन योग्य आकार का आकार इस पर आधारित होगा कि सी रनटाइम का कितना उपयोग किया जाता है। – Andy

+0

दरअसल, रनटाइम के डीबग संस्करण के खिलाफ लिंक करने की कोई आवश्यकता नहीं है, सिवाय इसके कि आप रनटाइम-लाइब्रेरी को डीबग करना चाहते हैं। – user1810087

-1

शायद यह सी ++ रनटाइम लाइब्रेरी है। चूंकि यह एक डीएलएल है क्योंकि यह आपके प्रोग्राम निष्पादन योग्य में शामिल नहीं है। आपका मित्र माइक्रोसॉफ्ट से उन पुस्तकालयों को डाउनलोड कर सकता है।

+1

क्षमा करें, -1। * "यह शायद गलत है, और आपका मित्र किसी भी तरह इसे हल कर सकता है" के साथ एक जवाब "* कोई जवाब नहीं है। इसके अलावा, सीआरटी सिर्फ एक डीएलएल नहीं है। – IInspectable

52

आपके मित्र का पीसी अपने कार्यक्रम के लिए क्रम समर्थन DLLs याद आ रही है:

+1

यह उन चीजों में से एक है जिनके अनुप्रयोगों को उनके तैनाती/सेटअप के हिस्से के साथ संघर्ष करना पड़ता है क्योंकि आपके एप्लिकेशन का उपयोग करने वाली हर चीज ओएस में नहीं बनाई गई है। देखें [मूल डेस्कटॉप अनुप्रयोगों को तैनात करना (दृश्य सी ++)] (https://msdn.microsoft.com/en-us/library/zebw5zk9.aspx)। ध्यान दें कि यदि आपका एप्लिकेशन एक विंडोज स्टोर एप्लिकेशन था, तो स्टोर आपके लिए विजुअल सी ++ सीआरटी को तैनात करने का ख्याल रखता है। –

+0

मुझे अपने पीसी पर एक ही त्रुटि मिल रही है, भले ही मेरे पास पूर्ण विजुअल स्टूडियो 2015 स्थापित है। पुनर्वितरण योग्य इंस्टॉलर यह कहता है कि एक नया संस्करण पहले से स्थापित है। कोई विचार? – matth

2

कि आम तौर पर मतलब है कि अपने दोस्त दृश्य ग के लिए माइक्रोसॉफ्ट पुनर्वितरण नहीं है ++। मुझे लगता है कि आप वीसी ++ का उपयोग कर रहे हैं और मिंगडब्ल्यू या परेशान कंपाइलर नहीं हैं। चूंकि आपके मित्र के पास वीएस इंस्टॉल नहीं है, इसलिए कोई गारंटी नहीं है कि उसके पास रेडिस्ट स्थापित है।

VC++ Distro