2012-11-10 13 views
12

Ho installato il compilatore C MinGW in Windows 8 (64 bit) tramite l'installazione della GUI. Ma quando provo a compilare un programma C, gcc dice: gcc: CreateProcess: No such file or directoryAncora un altro MinGW "gcc: errore: CreateProcess: nessun file o directory"

Si tratta di un bug comune e ho provato tutte le soluzioni che ho trovato, senza successo.

In particolare, (a seguito CreateProcess: No such file or directory) ho cercato di:

  1. [Modificato] Aggiungere C: \ MinGW \ libexec \ gcc \ mingw32 \ 4.7.2 sul mio cammino sistema
  2. Disinstallare e reinstallare gcc attraverso mingw-get CLI:

    mingw-get remove mingw32-gcc
    mingw-get install mingw32-gcc

Altri suggerimenti?

EDIT: verbose uscita gcc:

> 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

è C: \ MinGW \ libexec \ gcc \ mingw32 \ "MinGW-Version" il testo effettivo si è utilizzato o fatto si utilizza la versione del compilatore. Inoltre, dove gcc.exe è presente sul disco rigido – Mark

+0

No, questo è solo un esempio, il percorso che ho usato è quello corretto. gcc.exe si trova nella directory \ bin della struttura di installazione MinGW. – eang

+0

A meno che tu non possa dare più informazioni su ciò che differisce, questo è un duplicato esatto della domanda che hai citato. – Mark

risposta

9

Non si dovrebbe aggiungere C:\MinGw\libexec\gcc\mingw32\4.7.2 al percorso.

Add: c:\MinGW\bin

Potrebbe essere necessario riavviare il sistema al fine di garantire che il percorso è reso disponibile a tutti i processi in modo corretto.

Un altro suggerimento è utilizzare una diversa distribuzione MinGW. È passato molto tempo da quando ho usato una distribuzione MinGW "ufficiale" perché i passaggi dell'installazione erano così bizantini e fragili. Ho sentito che hanno fatto grandi progressi all'installatore, ma da quello che sento sembra ancora piuttosto complicato e fragile.

TDM's installer funziona, ma penso che la versione di TDM non sia abbastanza a 4.7.2.

L'installazione di nuwen distribution's è solo la decompressione di un archivio in cui si desidera la cosa (mi piace!) E assicurarsi che il percorso punti alla posizione di gcc.exe. Nuwen include anche le librerie di boost, il che è bello.


ho caso aiuta, ecco cosa mi da gcc -v hello.c (c:\mingw.4.7.2\bin è nella 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

Ho già impostato 'c: \ MinGW \ bin' nel mio PERCORSO. Proverò le diverse distribuzioni, grazie per il suggerimento. – eang

+0

La distri nuwen funziona bene, grazie. Posso considerare risolto questo problema. A proposito, spero che gli sviluppatori di mingw lo facciano il debug. – eang

+0

TDM funziona perfettamente ed è stato banale da installare. Grazie mille per l'assistenza. – ApproachingDarknessFish

0

Nel mio caso, il programma di installazione mingw-get-setup.exe non è riuscito a scaricare dei file, in modo che il gcc catena di strumenti di complicazione è rotto, quando rieseguire mingw-get-setup.exe e ottenere i file persi, è OK.

1

Nel mio caso, ho disinstallato alcuni elementi in MinGW per risparmiare spazio sul mio SSD. Installare la classe dev mingw32-gcc ha risolto questo problema per me.

0

Nel mio caso, più toolchain hanno inserito diverse installazioni gcc in PATH.

(Si sta trasformando in un interruttore!)

1

Ho avuto lo stesso errore. Ho 64 bit win 7 OS. Per prima cosa ho installato MinGW a 32 bit, gcc è stato installato correttamente ma mostra questo errore. Ho provato a installare MinGW a 64 bit ma non sono riuscito a installarlo. Ho cercato molto, ho provato molte cose ma non ha funzionato.

Infine installato "tdm64-gcc-5.1.0-2" da questo link >>https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect

E 'installato & lavorato in singolo tentativo senza alcun errore. Niente di speciale provato.

E il punto importante di base, dopo l'installazione è necessario aggiungere la directory "bin" sul percorso env ('C: \ TDM-GCC-64 \ bin' nel mio caso). Quindi controlla l'installazione di gcc da questo comando sulla console >> "gcc --version", questo mostrerà la versione di gcc installata.

0

Nel mio caso, eliminare il parametro [=n] quando si specifica -flto risolto il problema.

In particolare, invece di utilizzare

-flto=6 

in CFLAGS, CXXFLAGS e LDFLAGS, ora sto usando semplicemente

-flto 


Sembra questo un bug MinGW-W64, pensato a questo punto non sono sicuro se potrebbe essere causato dal mio utilizzo del parametro -j6 durante il richiamo di fare.

Per riferimento futuro, tutta la mia linea di comando è la seguente:

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 

questo è per la costruzione di wxWidgets ' "Sample Minimal". Informazioni su -Wl,--allow-multiple-definition: Si intende aggirare l'ennesimo errore di un toolchain. Maggiori informazioni here e here.

0

Ho installato MinGW of theial website.
Seleziono "Impostazione di base" (volevo solo ottenere il compilatore c) e ho contrassegnato tutto il pacchetto, dopo questa installazione ho aggiunto il percorso, nel mio caso.

C:\MinGW\bin.

ho creato il file ac in

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

con il nome untitled1.c

Wen ho cercato di usare il comando

gcc untitled.c

il comando promt mi ha mostrato che Messaggio.

gcc: CreateProcess: No such file or directory


Come ho fatto a risolvere questo problema?
ho rimosso tutto il pacchetto,

-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.


Sistema operativo

  • Edition: Windows 10 Pro
  • Versione: 1607
  • Os costruzione: 14393,187
0

Ho lo stesso problema.

Ho un startgcc.bat nella mia cartella.
È giusto per me subito dopo aver rimosso le doppie virgolette nel mio incarico PATH. mio script bat:

@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 
Problemi correlati