又是一个“明”;gcc:错误:CreateProcess:没有这样的文件或目录";

又是一个“明”;gcc:错误:CreateProcess:没有这样的文件或目录";,c,gcc,windows-8,mingw,C,Gcc,Windows 8,Mingw,我已经通过GUI安装程序在Windows 8(64位)中安装了MinGW C编译器。 但是当我试图编译一个C程序时,gcc说:gcc:CreateProcess:没有这样的文件或目录 这是一个常见的错误,我已经尝试了我找到的所有解决方案,但没有成功 特别是,(以下)我已尝试: [编辑]将C:\MinGw\libexec\gcc\mingw32\4.7.2添加到我的系统路径 通过mingw get CLI卸载并重新安装gcc: mingw获取删除mingw32 gcc mingw获取安装mingw

我已经通过GUI安装程序在Windows 8(64位)中安装了MinGW C编译器。 但是当我试图编译一个C程序时,gcc说:gcc:CreateProcess:没有这样的文件或目录

这是一个常见的错误,我已经尝试了我找到的所有解决方案,但没有成功

特别是,(以下)我已尝试:

  • [编辑]将C:\MinGw\libexec\gcc\mingw32\4.7.2添加到我的系统路径
  • 通过mingw get CLI卸载并重新安装gcc:

    mingw获取删除mingw32 gcc
    mingw获取安装mingw32 gcc

  • 其他建议

    编辑:详细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
    

    不应将
    C:\MinGw\libexec\gcc\mingw32\4.7.2
    添加到路径中

    添加:
    c:\MinGW\bin

    您可能需要重新启动以确保所有进程都能正确使用该路径

    另一个建议是使用不同的MinGW分布。我已经很久没有使用“官方”的MinGW发行版了,因为安装步骤过于繁琐和脆弱。我听说他们对安装程序有了很大的改进,但据我所知,它似乎仍然相当复杂和脆弱

    只是工作正常,但我认为TDM版本不太适合4.7.2

    安装只是在你想要的地方解压一个归档文件(我喜欢!),并确保路径指向gcc.exe的位置。Nuwen还打包了boost库,这很好


    如果有帮助,下面是我从
    gcc-v hello.c
    c:\mingw.4.7.2\bin
    在路径中)得到的信息:

    使用内置规格。
    收集\u GCC=GCC
    COLLECT_LTO_WRAPPER=c:/mingw.4.7.2/bin/。/libexec/gcc/i686-pc-mingw32/4.7.2/LTO-WRAPPER.exe
    目标:i686-pc-mingw32
    配置为:./SRC/OpDATE:前缀=/C/TEMP/GCC/DMP——具有MPFR/C/TEM/GCC/MPFR——用MPC= /C/TEMP/GCC/MPC-启用语言= C,C++ + ARCH=i68,用TUNE=泛型禁用LBSTDCXXX PCH--禁用NLS-禁用共享的SJLJ异常-禁用WI32-注册表-启用检查=释放-启用LTO
    线程模型:win32
    gcc版本4.7.2(gcc)
    COLLECT\u GCC\u 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-oc:\Users\mikeb\AppData\Local\Temp\cct1oltc.s
    GNU C(GCC)版本4.7.2(i686-pc-mingw32)
    由GNU C版本4.7.2、GMP版本5.0.5、MPFR版本3.1.1-p2、MPC版本1.0.1编制
    GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
    忽略不存在的目录“c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/../../../../../i686-pc-mingw32/include”
    忽略重复目录“c:/mingw.4.7.2/lib/gcc/../../lib/gcc/i686-pc-mingw32/4.7.2/include”
    忽略不存在的目录“c:/temp/gcc/dest/include”
    忽略不存在的目录“/c/temp/gcc/dest/include”
    忽略重复目录“c:/mingw.4.7.2/lib/gcc/../../lib/gcc/i686-pc-mingw32/4.7.2/include-fixed”
    忽略不存在的目录“c:/mingw.4.7.2/lib/gcc/../../../lib/gcc/i686-pc-mingw32/4.7.2/../../../../../../i686-pc-mingw32/include”
    忽略不存在的目录“/mingw/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
    c:\mingw.4.7.2\bin\../lib/gcc/i686-pc-mingw32/4.7.2/include-fixed
    搜索列表结束。
    GNU C(GCC)版本4.7.2(i686-pc-mingw32)
    由GNU C版本4.7.2、GMP版本5.0.5、MPFR版本3.1.1-p2、MPC版本1.0.1编制
    GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
    编译器可执行校验和:8461a53e6fc78ff58191bda61fe9586d
    COLLECT\u GCC\u 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
    使用BFD版本(GNU Binutils)2.22的GNU汇编程序版本2.22(i686-pc-mingw32)
    编译器_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\u GCC\u OPTIONS='-v'-mtune=generic'-march=i686'
    c:/mingw.4.7.2/bin/./libexec/gcc/i686-pc-mingw32/4.7.2/collect2.exe-b动态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-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
    
    在我的例子中,安装程序
    mingw get setup.exe
    未能下载一些文件,因此工具链中断,当重新运行
    mingw get setup.exe
    并获取丢失的文件时,一切正常。

    在我的例子中,我卸载了mingw中的一些项目以节省SSD上的空间。安装mingw32 gcc-dev类为我解决了这个问题。

    在我的例子中,多个工具链将不同的gcc安装放置到路径中


    (这变成了一个开关!)

    我也有同样的错误。我有64位Win7操作系统。首先我安装了32位MinGW,gcc安装成功,但显示了此错误。尝试安装64位MinGW,但安装失败。 搜索了很多,尝试了很多东西,但都没有效果

    最终从该链接安装了“tdm64-gcc-5.1.0-2”>>

    它在一次尝试中安装并工作,没有任何错误。没什么特别的
    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
    
    @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