2011-07-19 14 views
28

मैं एक कुछ वर्षों के लिए अपने कंप्यूटर पर जावा के लिए ग्रहण किया है, और CDT स्थापित करने और सी जानने के लिए मैं दोनों MinGW स्थापित फैसला किया और सिगविन और सीडीटी पता लगाता है और जब मैं एक नई परियोजना करता हूं तो उनका उपयोग करने की कोशिश करता है। मैं फ़ाइल> नई सी ++ प्रोजेक्ट चुनता हूं और हैलो वर्ल्ड सी ++ प्रोजेक्ट और सिग्विन जीसीसी टूलचेन चुनता हूं। मैं प्रोजेक्ट "asdf" नाम देता हूं और टूलबार में "बिल्ड डीबग" हिट करता हूं। संकलक त्रुटि के बिना पूरा करता है। मैंने रन मारा और कुछ भी नहीं हुआ। प्रोजेक्ट निर्देशिका में मैन्युअल रूप से ब्राउज़ करना और asdf.exe चलाना मुझे एक त्रुटि देता है "प्रोग्राम शुरू नहीं हो सकता है क्योंकि आपके कंप्यूटर से cygwin1.dll गुम है। इस समस्या को ठीक करने के लिए प्रोग्राम को पुनर्स्थापित करने का प्रयास करें।" MinGW का उपयोग करके वही बात होती है, केवल एक अलग डीएल गुम है। उपयोग करने योग्य .exe रखने के लिए मुझे क्या करने की ज़रूरत है? मैं विंडोज 7 एक्स 64 और एक्लिप्स और सीडीटी का नवीनतम संस्करण चला रहा हूं।कार्यक्रम शुरू नहीं कर सकते क्योंकि cygwin1.dll याद आ रही है ... ग्रहण CDT में

संपादित करें: संकलक उत्पादन इस प्रकार है:

**** Build of configuration Debug for project asdf **** 

make all 
Building file: ../src/asdf.cpp 
Invoking: Cygwin C++ Compiler 
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/asdf.d" -MT"src/asdf.d" -o"src/asdf.o" "../src/asdf.cpp" 
cygwin warning: 
    MS-DOS style path detected: C:\Users\Shawn\Dropbox\eclipse\asdf\Debug 
    Preferred POSIX equivalent is: /cygdrive/c/Users/Shawn/Dropbox/eclipse/asdf/Debug 
    CYGWIN environment variable option "nodosfilewarning" turns off this warning. 
    Consult the user's guide for more details about POSIX paths: 
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 
Finished building: ../src/asdf.cpp 

Building target: asdf.exe 
Invoking: Cygwin C++ Linker 
g++ -o"asdf.exe" ./src/asdf.o 
Finished building target: asdf.exe 

उत्तर

53

यह त्रुटि संदेश का अर्थ है कि विंडोज "cygwin1.dll" खोजने के लिए सक्षम नहीं है। कार्यक्रम जो सिगविन जीसीसी बनाते हैं इस डीएलएल पर निर्भर करते हैं। फ़ाइल साइगविन का हिस्सा है, इसलिए सबसे अधिक संभावना यह सी: \ cygwin \ bin में स्थित है। समस्या को ठीक करने के लिए आपको बस अपने सिस्टम पथ में C: \ cygwin \ bin (या वह स्थान जहां cygwin1.dll पाया जा सकता है) जोड़ना है। वैकल्पिक रूप से आप अपनी विंडोज निर्देशिका में cygwin1.dll की प्रतिलिपि बना सकते हैं।

निर्भरता वाल्कर नामक एक अच्छा टूल है जिसे आप http://www.dependencywalker.com से डाउनलोड कर सकते हैं। आप निष्पादन योग्यताओं की निर्भरताओं की जांच के लिए इसका उपयोग कर सकते हैं, इसलिए यदि आप अपने जेनरेट किए गए प्रोग्राम का निरीक्षण करते हैं तो यह आपको बताता है कि कौन सी निर्भरताएं गायब हैं और जिन्हें हल किया गया है।

+0

यह काम किया! इसे भी कुछ और डीएलएस की जरूरत थी। तो मैं स्टैंडअलोन बनाने का एकमात्र तरीका मान रहा हूं .exes VisualStudio का उपयोग करना है, फिर? –

+1

मुझे जो जोड़ना चाहिए वह यह है कि आप डीएलएल को एक्सई के समान निर्देशिका में कॉपी कर सकते हैं। विजुअलस्टूडियो द्वारा निर्मित पूर्वजों में निर्भरता भी होती है, उदा। MSVCR71.DLL – phlogratos

+0

ठीक है, समझ में आता है, धन्यवाद! –

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