Reputation: 1645
I have installed MinGW C compiler in Windows 8 (64 bit) through the GUI installer. But when I try to compile a C program, gcc says: gcc: CreateProcess: No such file or directory
It is a common bug, and I have tried all the solutions I found, without success.
In particular, (following CreateProcess: No such file or directory) I have tried to:
Uninstall and re-install gcc through mingw-get CLI:
mingw-get remove mingw32-gcc
mingw-get install mingw32-gcc
Other suggestions?
EDIT: verbose gcc output:
> 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
Upvotes: 15
Views: 44463
Reputation:
In my case,
I restarted my computer after doing this. It worked successfully. I got the msys make (unix portable) plus my compilation is working successfully.
Upvotes: 0
Reputation: 11
I have the same problem.
I have a startgcc.bat
in my folder.
It's OK for me just after remove double quotation marks in my PATH
assignment.
my bat script:
@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
Upvotes: 1
Reputation: 592
I installed MinGW of the ofcial website.
I select "Basic Setup"( I only wanted get c compiler), and I marked all package, after this installation I added the path, in my case.
C:\MinGW\bin.
I created a c file in
C:\Users\christian\Documents\C projects\
with the name untitled1.c
Wen I tried to use the command
gcc untitled.c
the command promt showed me that message.
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.
Operating system
Upvotes: 1
Reputation: 8684
In my case, getting rid of the [=n]
parameter when specifying -flto
solved the problem.
Specifically, instead of using
-flto=6
in CFLAGS, CXXFLAGS and LDFLAGS, I'm now using simply
-flto
Looks like this is a MinGW-w64 bug, thought at this point I'm not sure whether it might be caused by my using of the -j6
parameter when invoking make.
For future reference, my entire command line is as follows:
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
This is for building wxWidgets' "Minimal Sample". About -Wl,--allow-multiple-definition
: It's intended to circumvent yet another toolchain bug. More info here and here.
Upvotes: 0
Reputation: 173
I had the same error. I have 64 bit win 7 OS. First I installed 32 bit MinGW, gcc was installed successfully but showing this error. Tried installing 64 bit MinGW but failed to install. Searched a lot, tried many things but nothing worked.
Finally installed "tdm64-gcc-5.1.0-2" from this link >> https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect
It installed & worked in single attempt without any error. Nothing special tried.
And the basic important point, after installation need to add "bin" directory on env path ('C:\TDM-GCC-64\bin' in my case). Then check gcc installation from this command on console >> "gcc --version" , this will show the gcc version installed.
Upvotes: 1
Reputation: 1773
In my case, multiple toolchains had placed different gcc installs into PATH.
(This is turning into a switch!)
Upvotes: 0
Reputation: 18694
In my case, I had uninstalled a few items in MinGW to save space on my SSD. Installing mingw32-gcc dev class fixed this problem for me.
Upvotes: 1
Reputation: 6799
In my case, the installer mingw-get-setup.exe
failed to download some files, so the gcc complication tool chain is broken, when rerun mingw-get-setup.exe
and get the lost files, it is OK.
Upvotes: 0
Reputation: 340168
You shouldn't add C:\MinGw\libexec\gcc\mingw32\4.7.2
to the path.
Add: c:\MinGW\bin
You may need to reboot to ensure that the path is made available to all processes properly.
Another suggestion is to use a different MinGW distribution. It's been a long time since I used an 'official' MinGW distribution because the installation steps were so byzantine and fragile. I've heard they've made large advances to the installer, but from what I hear it still seems to be rather complicated and fragile.
TDM's installer just works, but I think the TDM release isn't quite to 4.7.2.
The nuwen distribution's installation is just unpacking an archive where you want the thing (I love that!) and making sure the path points to the location of gcc.exe. Nuwen also packages the boost libraries, which is nice.
I case it helps, here's what I get from gcc -v hello.c
(c:\mingw.4.7.2\bin
is in the 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
Upvotes: 12