2011-08-31 18 views
8

मुझे एक मानक सी लाइब्रेरी मिली है जो जीसीसी का उपयोग कर मैक ओएस एक्स पर बस ठीक है।मिनजीडब्ल्यू "प्रक्रिया प्रविष्टि बिंदु libiconv स्थित नहीं हो सका ..."

मैं सी Windows के लिए उपलब्ध compilers की जांच की है, और एक जोड़ी कारणों के लिए MinGW चुनें:

  • एमएस के उपकरण C99 का समर्थन नहीं करते
  • Cygwin एट। अल। POSIX अनुकरण के साथ जटिलता के एक अतिरिक्त स्तर है कि मैं नहीं चाहता
  • एल सी सी-Win32

लेकिन, जब मैं अपने पुस्तकालय का निर्माण करने की कोशिश, मैं इस हो रही है काम करने के लिए नहीं पहुंच सकता जोड़ता है:

enter image description here

यह सामान सब बहुत पुरातन लगता है, और व्यावहारिक रूप से कोई सभ्य संसाधन ऑनलाइन है कि मैं पा सकते हैं देखते हैं।

किसी भी मदद की सराहना की जाएगी।

धन्यवाद।

संपादित करें:

यह है कि मैं क्या निर्माण करने के लिए कोशिश कर रहा हूँ कोई फर्क नहीं पड़ता। यहां तक ​​कि अगर मैं एक समारोह के साथ एक फ़ाइल बना देता हूं जो दो संख्याओं को जोड़ता है। यह दुर्घटनाग्रस्त हो जाता है। ऐसा लगता है कि स्रोत कोड या जीसीसी को पास किए गए विकल्पों के साथ कुछ भी नहीं है। मुझे लगता है कि यह मेरे मिनीजीडब्ल्यू सेटअप के साथ एक समस्या है, न कि मेरी परियोजना के साथ।

+0

यह त्रुटि तब बनाई जाती है जब आप एक डीएलएल बना रहे हों? –

+0

इससे कोई फर्क नहीं पड़ता कि मैं क्या बनाने की कोशिश कर रहा हूं। यहां तक ​​कि अगर मैं एक समारोह के साथ एक फ़ाइल बना देता हूं जो दो संख्याओं को जोड़ता है। यह दुर्घटनाग्रस्त हो जाता है। ऐसा लगता है कि स्रोत कोड या जीसीसी को पास किए गए विकल्पों के साथ कुछ भी नहीं है। – Steve

+1

स्पष्ट रूप से आपकी mingw स्थापना borked है। आपने कैसे स्थापित किया? –

उत्तर

26

सुनिश्चित करें कि आपके पास libiconv-2.dll वाली किसी भी अन्य निर्देशिका से पहले आपके पथ में सी: \ MinGW \ bin है। जाहिर है कि कुछ मिनजीडब्ल्यू वितरण में as.exe उस डीएलएल पर निर्भर हैं, और कहीं भी पथ में इसका पुराना संस्करण है (उदाहरण के लिए GnuWin32 टूल्स) पुराने संस्करण को लेने के लिए as.exe का कारण बनेंगे, जिसमें प्रवेश बिंदु नहीं है ।

देखें:। http://sourceforge.net/tracker/index.php?func=detail&aid=3375870&group_id=200665&atid=974439

नोट - यदि आप नए एक \MinGW\bin में साथ पुराने libiconv-2.dll को बदलने के लिए सक्षम होना चाहिए - DLL के नामकरण मतलब यह होना चाहिए कि यह पिछड़े पुराने एक के साथ संगत है (यानी, पुराना सॉफ़्टवेयर जो इस पर निर्भर नहीं है कि वह नए निर्यात को काम करना जारी रखेगा)। हालांकि, मैंने इसका परीक्षण नहीं किया है इसलिए यदि आप अपने MinGW स्थापना से किसी के साथ विवादित DLL को प्रतिस्थापित करने का प्रयास करने का निर्णय लेते हैं तो बैकअप लेना सुनिश्चित करें।

+2

दिलचस्प। मेरे पास GnuWin32 स्थापित है। मुझे इसे आज़माएं और आपको वापस आएं। मेरे पास 'पाथ' में 'सी: \ मिनजीडब्ल्यू \ बिन' भी है, लेकिन यह * * GnuWin32 के बाद मेरा मानना ​​है ... इसलिए यदि GnuWin32 के साथ कोई संघर्ष है, तो मेरा मानना ​​है कि सिस्टम को GnuWin32 संस्करण * पहले मिल जाएगा *। यह निश्चित रूप से यहां क्या गलत हो रहा है की एक व्यावहारिक व्याख्या की तरह लगता है। – Steve

+0

बिंगो। काश मैं आपको अधिक वोट दे सकता हूं। यह वास्तव में समस्या थी (GnuWin32 के साथ संघर्ष)। – Steve

+0

चीयर्स चैप। जांच चल रही थी कि क्या हो रहा था, मैंने पाया कि अगर मैं अपनी वर्तमान निर्देशिका _was_ \ mingw \ bin के दौरान जीसीसी कहलाता हूं तो मैं चीजों को संकलित कर सकता हूं। उस उदाहरण में, as.exe खुश था। लेकिन कोई अन्य पीडब्ल्यूडी और यह नहीं था। इसके लिए धन्यवाद। मैं इमारत के दौरान कुछ प्रकार के बेमेल डीएल मुद्दे को देख रहा था, न कि सिर्फ .exe ठीक से शुरू नहीं हो रहा था। चीयर्स। – RichColours

2

यह सुनिश्चित करने के अलावा कि सी: \ MinGW \ bin आपके पैथ में किसी और चीज से पहले है, आपको यह सुनिश्चित करने के लिए कि आपकी पाथ वास्तव में अपडेट की गई है, आपको अपनी मशीन (या संभवतः लॉग आउट/लॉग इन) को पुनरारंभ करना चाहिए।

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