J'ai installé le compilateur C MinGW sous Windows 8 (64 bits) via le programme d'installation de l'interface graphique. Mais lorsque j'essaie de compiler un programme en C, gcc indique: gcc: CreateProcess: Aucun fichier ni répertoire
C'est un bug courant, et j'ai essayé toutes les solutions que j'ai trouvées, sans succès.
En particulier, (après CreateProcess: aucun fichier ou répertoire de ce type ), j'ai essayé de:
Désinstallez et réinstallez gcc à l'aide de la CLI mingw-get:
mingw-get supprimer mingw32-gcc
mingw-get install mingw32-gcc
Autres suggestions?
EDIT: sortie gcc verbeuse:
> 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
Vous ne devriez pas ajouter C:\MinGw\libexec\gcc\mingw32\4.7.2
au chemin.
Ajouter: c:\MinGW\bin
Vous devrez peut-être redémarrer pour vous assurer que le chemin est correctement mis à la disposition de tous les processus.
Une autre suggestion consiste à utiliser une distribution MinGW différente. Cela fait longtemps que je n'ai pas utilisé une distribution 'officielle' de MinGW parce que les étapes d'installation étaient tellement byzantines et fragiles. J'ai entendu dire que l'installateur avait beaucoup progressé, mais d'après ce que j'ai entendu dire, cela semble encore assez compliqué et fragile.
L'installateur de TDM fonctionne, mais je pense que la version de TDM n'est pas tout à fait à 4.7.2.
L'installation de la distribution de nuwen consiste à décompresser une archive où vous voulez la chose (j'aime ça!) Et à vous assurer que le chemin d'accès pointe vers l'emplacement de gcc.exe. Nuwen emballe également les bibliothèques boost, ce qui est Nice.
Dans ce cas, cela aide, voici ce que je reçois de gcc -v hello.c
(c:\mingw.4.7.2\bin
est dans le chemin`):
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
J'ai eu la même erreur. J'ai 64 bits gagner 7 OS. D'abord, j'ai installé MinGW 32 bits, gcc a été installé avec succès, mais en affichant cette erreur. Essayé d'installer MinGW 64 bits, mais n'a pas réussi à installer. A beaucoup cherché, essayé beaucoup de choses, mais rien n'a fonctionné.
Enfin installé "tdm64-gcc-5.1.0-2" depuis ce lien >> https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect
Il a installé et travaillé en une seule tentative sans aucune erreur. Rien de spécial essayé.
Et le point important de base, après l’installation, il faut ajouter le répertoire "bin" sur le chemin d’env ("C:\TDM-GCC-64\bin" dans mon cas). Puis vérifiez l’installation de gcc à l’aide de cette commande sur la console >> "gcc --version", cela indiquera la version de gcc installée.
Dans mon cas, j'avais désinstallé quelques éléments dans MinGW pour économiser de l'espace sur mon SSD. L'installation de la classe de dev mingw32-gcc a résolu ce problème pour moi.
Dans mon cas, le fait de supprimer le paramètre [=n]
en spécifiant -flto
a résolu le problème.
Plus précisément, au lieu d'utiliser
-flto=6
dans CFLAGS, CXXFLAGS et LDFLAGS, j'utilise maintenant simplement
-flto
On dirait que c'est un bogue de MinGW-w64, mais à ce stade-ci, je ne suis pas sûr que cela puisse être causé par l'utilisation du paramètre -j6
lors de l'appel de make .
Pour référence future, ma ligne de commande complète est la suivante:
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
Ceci est pour la construction wxWidgets '"Échantillon minimal". À propos de -Wl,--allow-multiple-definition
: Il est prévu de contourner encore un autre bogue de la chaîne d’outils. Plus d'infos ici et ici .
Dans mon cas, le programme d'installation mingw-get-setup.exe
n'a pas pu télécharger certains fichiers. La chaîne d'outils de complication gcc est donc cassée. Lorsque vous réexécutez mingw-get-setup.exe
et récupérez les fichiers perdus, tout va bien.
J'ai installé MinGW du ofcial website .
J'ai sélectionné "Configuration de base" (je voulais seulement obtenir le compilateur c), et j’ai marqué tous les paquets, après cette installation, j’ai ajouté le chemin, dans mon cas.
C:\MinGW\bin.
J'ai créé un fichier c dans
C:\Utilisateurs\christian\Documents\Projets C \
avec le nom untitled1.c
Wen j'ai essayé d'utiliser la commande
gcc untitled.c
la commande promt m'a montré ce message.
gcc: CreateProcess: Aucun fichier ou répertoire de ce type
-Ouvrir "Gestionnaire d'installation MinGW"
-Sélectionnez "Configuration de base".
-Marque pour la suppression de tous les paquets.
-Sélectionnez le robinet "Installation".
-Cliquez sur Appliquer les modifications.
-Après que vous puissiez les installer à nouveau.
Système d'exploitation
Dans mon cas, plusieurs chaînes d'outils avaient placé différentes installations gcc dans PATH.
(Cela se transforme en un commutateur!)
J'ai le même problème.
J'ai un startgcc.bat
dans mon dossier.
Cela me convient juste après avoir supprimé les guillemets doubles dans mon assignation PATH
. Mon script de batte:
@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