2012-02-17 16 views
5

मैंने जो प्रोग्राम लिखा है वह एसएफएमएल का उपयोग करता है लेकिन रन होने पर विफल रहता है क्योंकि libgcc_s_dw2-1.dll गुम है। मैं tdm-gcc का उपयोग कर रहा हूं और फ़ाइल को अपने कंप्यूटर पर कहीं भी नहीं ढूंढ पा रहा हूं और पुनः इंस्टॉल करने में मदद नहीं मिलती है और एक सरल हैलो वर्ल्ड प्रोग्राम ठीक काम करता है इसलिए मुझे यकीन नहीं है कि इसे इस डीएल की आवश्यकता क्यों है।मैं libgcc_s_dw2-1.dll कहां प्राप्त कर सकता हूं?

यह कौन सा मिंगव पैकेज पाया जा सकता है? मुझे साइट पर एक खोज मिली है लेकिन इसे नहीं मिला। क्षमा करें अगर मैंने अभी एक स्पष्ट खोज परिणाम याद किया है लेकिन यह अविश्वसनीय रूप से निराशाजनक है! अग्रिम धन्यवाद, इल।

पीएस मैं 64-बिट विंडोज 7 पर

संपादित करें: क्षमा करें मैं उल्लेख करना भूल गया था कि मैंने पहले से ही another question को उसी समस्या के साथ जवाब पढ़ा था, लेकिन जैसा कि मैंने कहा है, मुझे फ़ाइल पर कहीं भी नहीं मिल रहा है कंप्यूटर, bin निर्देशिका या अन्यथा में। साथ ही, संकलक और/या लिंकर को -static-libgcc और -static-libstdc++ पास करने से मुझे unrecognized option '-static-libstdc++' मिल जाता है। यह स्पष्ट करने के लिए खेद है कि मैंने इसे पहले ही पढ़ा है। धन्यवाद!

उत्तर

3

फ़ाइल अपवाद बौना जानकारी (नई शैली, बनाम setjump/longjump या SJLj, पुरानी शैली का उपयोग कर से निपटने को लागू करता है।

तो आपको इसकी आवश्यकता चाहिए तभी करें जब आपके कोड किसी भी तरह के अपवाद पर निर्भर करता है।

यदि आप भाग्यशाली महसूस करते हैं तो आप here से इस फ़ाइल का अपना संकलन ले सकते हैं।

+0

धन्यवाद! क्या आप ऐसा करते हैं यह जानने के लिए कि आपको '.dll' कहां से मिला? – Ell

+0

@Ell - असल में मैंने स्रोतों से पूरे मिनजीडब्ल्यू को संकलित किया! उबंटू बॉक्स से क्रॉस-संकलित। मुश्किल काम, और बहुत ही निर्देशक। मैं इसके बारे में एक ब्लॉग पोस्ट लिखने के बारे में सोच रहा हूं, लेकिन पर्याप्त दृढ़ संकल्प कभी नहीं मिला ... – rodrigo

+0

वाह जो मुश्किल लगता है! यदि आप इसके बारे में एक ब्लॉग पोस्ट लिखना समाप्त करते हैं, तो मुझे सूचित करें ताकि मैं इसे कर सकूं! – Ell

4

मुझे विश्वास है कि यह एक माइक्रोसॉफ्ट विजुअल स्टूडियो सेटअप की बजाय एक टीडीएम/जीसीसी कंपाइलर मुद्दा है।

libgcc_s_dw2-1.dll कंपाइलर की बिन निर्देशिका में होना चाहिए। आप इस निर्देशिका को रनटाइम लिंकिंग के लिए अपने पाथ पर्यावरण चर में जोड़ सकते हैं, या आप अपने कंपाइलर झंडे में "-static-libgcc -static-libstdC++" जोड़कर समस्या से बच सकते हैं।

यदि आप निष्पादन योग्य वितरित करने की योजना बना रहे हैं, तो उत्तरार्द्ध शायद सबसे अधिक समझ में आता है। यदि आप केवल अपनी मशीन पर इसे चलाने की योजना बना रहे हैं, तो पाथ पर्यावरण चर बदलना एक आकर्षक विकल्प है (निष्पादन योग्य आकार को रोकता है)।

अपडेट किया गया:

[Screenshot of Code::Blocks "Project build options"]

[GNU gcc link options]

बाद चर्चा -static-libgcc में शामिल हैं:

ग्रेग Treleaven (नीचे टिप्पणी देखें), मैं करने के लिए लिंक जोड़ रहा से प्रतिक्रिया के आधार पर और -static-libstdc++ लिंकर विकल्प।

+0

मुझे लगता है कि दूसरे प्रश्न को लिंक करना सिर्फ प्रतिलिपि बनाने और पेस्ट करने से अधिक उचित है, खासकर यदि संपादन टिप्पणियों पर आधारित होते हैं जो नहीं किए गए हैं मौजूद हैं। वैसे भी धन्यवाद – Ell

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