2012-11-10 24 views
12

मैंने जीयूआई इंस्टॉलर के माध्यम से विंडोज 8 (64 बिट) में मिनीजीडब्ल्यू सी कंपाइलर स्थापित किया है। लेकिन जब मैं एक सी प्रोग्राम को संकलित करने का प्रयास करें, जीसीसी का कहना है: जीसीसी: CreateProcess: ऐसा कोई फ़ाइल या निर्देशिकाफिर भी एक और मिनीजीडब्ल्यू "gcc: त्रुटि: CreateProcess: ऐसी कोई फ़ाइल या निर्देशिका नहीं"

यह एक आम बग है, और मैं सब समाधान मैंने पाया की कोशिश की है, सफलता नहीं मिली।

विशेष रूप से, (CreateProcess: No such file or directory के बाद) मैं करने की कोशिश की:

  1. [संपादित] जोड़े C: \ Mingw \ libexec \ जीसीसी \ mingw32 \ 4.7.2 अपने सिस्टम पथ को
  2. MinGW-मिल CLI के माध्यम से की स्थापना रद्द करें और फिर से स्थापित जीसीसी:

    MinGW-मिल को दूर mingw32-जीसीसी
    MinGW-मिल स्थापित mingw32-जीसीसी

अन्य सुझाव?

संपादित करें: वर्बोज़ जीसीसी उत्पादन:

> gcc -v helloWorld.c 
Using built-in specs. 
COLLECT_GCC=gcc 
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.7.2/lto- 
wrapper.exe 
Target: mingw32 
Configured with: ../gcc-4.7.2/configure --enable-languages=c,c++,ada,fortran,obj 
c,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgo 
mp --disable-win32-registry --enable-libstdcxx-debug --disable-build-poststage1- 
with-cxx --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw 
Thread model: win32 
gcc version 4.7.2 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-mtune=i386' '-march=i386' 
cc1plus -quiet -v -iprefix c:\mingw\bin\../lib/gcc/mingw32/4.7.2/ 
OPTIONS.C -quiet -dumpbase OPTIONS.C -mtune=i386 -march=i386 -auxbase OPTIONS - 
version -o C:\Users\elvis\AppData\Local\Temp\cc4fWSvg.s 
gcc: error: CreateProcess: No such file or directory 
+0

सी है: \ Mingw \ libexec \ जीसीसी \ mingw32 \ "MinGW-संस्करण" वास्तविक पाठ आप का इस्तेमाल किया है या आप संकलक के संस्करण का उपयोग किया था। आपकी हार्ड डिस्क – Mark

+0

पर gcc.exe कहां है, यह केवल एक उदाहरण है, मैंने जिस पथ का उपयोग किया वह सही है। gcc.exe MinGW स्थापना पेड़ की \ bin निर्देशिका में है। – eang

+0

जब तक आप इस बारे में अधिक जानकारी नहीं दे सकते कि यह कितना अलग है, तो आपके द्वारा उद्धृत प्रश्न का सटीक डुप्लिकेट है। – Mark

उत्तर

9

आप रास्ते पर C:\MinGw\libexec\gcc\mingw32\4.7.2 नहीं जोड़ना चाहिए।

जोड़ें: c:\MinGW\bin

आप यह सुनिश्चित करें कि पथ ठीक से सभी प्रक्रियाओं को उपलब्ध कराया जाता है रीबूट करने की आवश्यकता हो सकती है।

एक और सुझाव एक अलग मिनीजीडब्ल्यू वितरण का उपयोग करना है। यह एक लंबा समय रहा है क्योंकि मैंने 'आधिकारिक' मिनजीडब्ल्यू वितरण का उपयोग किया क्योंकि स्थापना चरण इतने बीजान्टिन और नाजुक थे। मैंने सुना है कि उन्होंने इंस्टॉलर को बड़ी प्रगति की है, लेकिन जो मैंने सुना है उससे अभी भी जटिल और नाजुक लगता है।

TDM's installer बस काम करता है, लेकिन मुझे लगता है कि टीडीएम रिलीज 4.7.2 तक नहीं है।

nuwen distribution's स्थापना सिर्फ एक संग्रह को अनपॅक कर रहा है जहां आप चीज़ चाहते हैं (मुझे वह पसंद है!) और यह सुनिश्चित करना कि पथ gcc.exe के स्थान पर इंगित करता है। न्यूवेन बूस्ट लाइब्रेरीज़ को भी पैकेज करता है, जो अच्छा है।


मैं मामला यह मदद करता है, यहाँ मैं क्या मिलता है gcc -v hello.c से (c:\mingw.4.7.2\bin path` में है):

Using built-in specs. 
COLLECT_GCC=gcc 
COLLECT_LTO_WRAPPER=c:/mingw.4.7.2/bin/../libexec/gcc/i686-pc-mingw32/4.7.2/lto-wrapper.exe 
Target: i686-pc-mingw32 
Configured with: ../src/configure --prefix=/c/temp/gcc/dest --with-gmp=/c/temp/gcc/gmp --with-mpfr=/c/temp/gcc/mpfr --with-mpc=/c/temp/gcc/mpc --enable-languages=c,c++ --with-arch=i686 --with-tune=generic --disable-libstdcxx-pch --disable-nls --disable-shared --disable-sjlj-exceptions --disable-win32-registry --enable-checking=release --enable-lto 
Thread model: win32 
gcc version 4.7.2 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' 
c:/mingw.4.7.2/bin/../libexec/gcc/i686-pc-mingw32/4.7.2/cc1.exe -quiet -v -iprefix c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/ hello.c -quiet -dumpbase hello.c -mtune=generic -march=i686 -auxbase hello -version -o C:\Users\mikeb\AppData\Local\Temp\cct1oltc.s 
GNU C (GCC) version 4.7.2 (i686-pc-mingw32) 
    compiled by GNU C version 4.7.2, GMP version 5.0.5, MPFR version 3.1.1-p2, MPC version 1.0.1 
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
ignoring nonexistent directory "c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include" 
ignoring duplicate directory "c:/mingw.4.7.2/lib/gcc/../../lib/gcc/i686-pc-mingw32/4.7.2/include" 
ignoring nonexistent directory "c:/temp/gcc/dest/include" 
ignoring nonexistent directory "/c/temp/gcc/dest/include" 
ignoring duplicate directory "c:/mingw.4.7.2/lib/gcc/../../lib/gcc/i686-pc-mingw32/4.7.2/include-fixed" 
ignoring nonexistent directory "c:/mingw.4.7.2/lib/gcc/../../lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include" 
ignoring nonexistent directory "/mingw/include" 
#include "..." search starts here: 
#include <...> search starts here: 
c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/include 
c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/../../../../include 
c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/include-fixed 
End of search list. 
GNU C (GCC) version 4.7.2 (i686-pc-mingw32) 
    compiled by GNU C version 4.7.2, GMP version 5.0.5, MPFR version 3.1.1-p2, MPC version 1.0.1 
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
Compiler executable checksum: 8461a53e6fc78ff58191bda61fe9586d 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' 
as -v -o C:\Users\mikeb\AppData\Local\Temp\ccqRcYAj.o C:\Users\mikeb\AppData\Local\Temp\cct1oltc.s 
GNU assembler version 2.22 (i686-pc-mingw32) using BFD version (GNU Binutils) 2.22 
COMPILER_PATH=c:/mingw.4.7.2/bin/../libexec/gcc/i686-pc-mingw32/4.7.2/;c:/mingw.4.7.2/bin/../libexec/gcc/ 
LIBRARY_PATH=c:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2/;c:/mingw.4.7.2/bin/../lib/gcc/;c:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2/../../../ 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' 
c:/mingw.4.7.2/bin/../libexec/gcc/i686-pc-mingw32/4.7.2/collect2.exe -Bdynamic c:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2/../../../crt2.o c:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2/crtbegin.o -Lc:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2 -Lc:/mingw.4.7.2/bin/../lib/gcc -Lc:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2/../../.. C:\Users\mikeb\AppData\Local\Temp\ccqRcYAj.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw.4.7.2/bin/../lib/gcc/i686-pc-mingw32/4.7.2/crtend.o 
+0

मैंने अपने पैथ में पहले ही 'c: \ MinGW \ bin' सेट कर दिया है। मैं विभिन्न वितरणों का प्रयास करूंगा, टिप के लिए धन्यवाद। – eang

+0

न्यूवेन डिस्ट्रो ठीक काम करता है, धन्यवाद। मैं इस समस्या को हल करने पर विचार कर सकता हूं। बीटीडब्ल्यू मुझे उम्मीद है कि mingw डेवलपर्स इसे डीबग करेंगे। – eang

+0

टीडीएम पूरी तरह से काम करता है और स्थापित करने के लिए तुच्छ था। आपके सहयोग के लिये बहुत धन्यवाद। – ApproachingDarknessFish

0

मेरे मामले में, संस्थापक mingw-get-setup.exe कुछ फ़ाइलों को डाउनलोड करने में विफल रहा है, तो जीसीसी जटिलता उपकरण श्रृंखला टूटा हुआ है, जब mingw-get-setup.exe दोबारा शुरू करें और खोए गए फाइलें प्राप्त करें, यह ठीक है।

1

मेरे मामले में, मैंने अपने एसएसडी पर स्थान बचाने के लिए मिनजीडब्ल्यू में कुछ आइटम अनइंस्टॉल कर दिए थे। Mingw32-gcc dev class को संस्थापित करने से मेरे लिए यह समस्या ठीक हो गई।

0

मेरे मामले में, एकाधिक टूलचेन ने विभिन्न जीसीसी इंस्टॉल को पाथ में रखा था।

(यह एक स्विच में बदल रहा है!)

1

मुझे एक ही त्रुटि थी। मेरे पास 64 बिट जीत 7 ओएस है। सबसे पहले मैंने 32 बिट MinGW स्थापित किया, जीसीसी सफलतापूर्वक स्थापित किया गया था लेकिन यह त्रुटि दिखा रहा था। 64 बिट MinGW स्थापित करने का प्रयास किया लेकिन स्थापित करने में विफल रहा। बहुत सी खोज की, कई चीजों की कोशिश की लेकिन कुछ भी काम नहीं किया।

अंत में स्थापित "tdm64-जीसीसी-5.1.0-2" इस लिंक से >>https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect

यह स्थापित & किसी भी त्रुटि के बिना एकल प्रयास में काम किया। कुछ विशेष कोशिश नहीं की।

और मूलभूत महत्वपूर्ण बिंदु, स्थापना के बाद एनवी पथ ('सी: \ टीडीएम-जीसीसी -64 \ bin' मेरे मामले में "बिन" निर्देशिका जोड़ने की आवश्यकता है। फिर कंसोल >> "gcc --version" पर इस कमांड से जीसीसी स्थापना की जांच करें, यह जीसीसी संस्करण स्थापित करेगा।

0

-flto निर्दिष्ट करते समय [=n] पैरामीटर से छुटकारा पाने के मामले में समस्या हल हो गई।

विशेष रूप से, उपयोग करने के बजाए

-flto=6 
CFLAGS, CXXFLAGS और LDFLAGS में

, अब मैं उपयोग कर रहा हूँ बस

-flto 


ऐसा लगता है कि यह एक MinGW-W64 बग है, इस बिंदु पर सोचा कि मुझे यकीन नहीं है कि को का उपयोग करते समय यह -j6 पैरामीटर के उपयोग के कारण हो सकता है।

भविष्य में संदर्भ के लिए, अपने पूरे आदेश पंक्ति इस प्रकार है:

mingw32-make -f makefile.gcc CFLAGS="-std=c11 -pipe -O3 -flto" CXXFLAGS="-std=c++14 -pipe -O3 -flto" LDFLAGS="-pipe -O3 -flto -static-libgcc -static-libstdc++ -s -Wl,--allow-multiple-definition" BUILD=release RUNTIME_LIBS=static DEBUG_FLAG=0 USE_AUI=0 USE_HTML=0 USE_MEDIA=0 USE_OPENGL=0 USE_PROPGRID=0 USE_QA=0 USE_RIBBON=0 USE_RICHTEXT=0 USE_STC=0 USE_WEBVIEW=0 USE_XRC=0 CFG="-stl-static_runtime-O3-flto" -j6 

यह wxWidgets निर्माण '' कम से कम नमूना "के लिए है। लगभग -Wl,--allow-multiple-definition: इसका उद्देश्य अभी तक एक और टूलचैन बग को बाधित करना है। अधिक जानकारी here और here

0

मैंने ऑफिसियल website के मिनजीडब्ल्यू को स्थापित किया।
मैं "मूल सेटअप" (मैं केवल सी कंपाइलर प्राप्त करना चाहता था) का चयन करता हूं, और मैंने इस पैकेज के बाद सभी पैकेज को चिह्नित किया, मैंने अपने मामले में पथ जोड़ा।

C:\MinGW\bin.

मैं

C:\Users\christian\Documents\C projects\

नाम untitled1.c साथ

में एसी फ़ाइल बनाई

वेन मैं आदेश

gcc untitled.c

आदेश शीघ्र मुझे पता चला है कि उपयोग करने के लिए करने की कोशिश की संदेश।

gcc: CreateProcess: No such file or directory


मैं इस समस्या को कैसे हल किया?
मैं सभी पैकेज निकाले गए,

-Open "MinGW Installation Manager"
-Select "Basic Setup".
-Mark for removal all packages.
-Select "Installation" tap.
-Click in Apply changes.
-After you can install those again.


ऑपरेटिंग सिस्टम

  • संस्करण: Windows 10 प्रो
  • संस्करण: 1607
  • ओएस का निर्माण: 14393,187
0

मुझे एक ही समस्या है।

मेरे पास मेरे फ़ोल्डर में startgcc.bat है।
मेरे PATH असाइनमेंट में डबल कोटेशन अंक हटाने के बाद यह मेरे लिए ठीक है। मेरी बल्लेबाजी स्क्रिप्ट:

@title gcc-mingw 
@rem @cd /d %~dp0 

@rem below line will fail and got error: gcc.exe: error: createprocess: no such file or directory 
@rem @set path="C:\mingw64\bin";%path% 

@rem below lines works ok without double quotation marks 
@set path=C:\mingw64\bin;%path% 
@set path=C:\mingw64\opt\bin\;%path% 
@cmd 
संबंधित मुद्दे