然而另一个MinGW“gcc:错误:CreateProcess:没有这样的文件或目录”

时间:2012-11-10 12:17:45

标签: c gcc windows-8 mingw

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

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

特别是,(CreateProcess: No such file or directory之后)我试图:

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

    mingw-get删除mingw32-gcc
    mingw-get install mingw32-gcc

  3. 其他建议?

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

7 个答案:

答案 0 :(得分:10)

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

添加:c:\MinGW\bin

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

另一个建议是使用不同的MinGW发行版。自从我使用“官方”MinGW发行版以来,已经有很长一段时间了,因为安装步骤太过拜占庭和脆弱。我听说他们已经为安装人员做了很大的进步,但从我听到的情况来看,它似乎仍然相当复杂和脆弱。

TDM's installer只是有效,但我认为TDM版本并不完全是4.7.2。

nuwen distribution's安装只是解压缩你想要的东西(我喜欢它!)并确保路径指向gcc.exe的位置。 Nuwen还打包了boost库,这很不错。


我认为这有帮助,这是我从gcc -v hello.c得到的(c:\mingw.4.7.2\bin在路径中):

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

我有同样的错误。我有64位赢7 OS。首先我安装了32位MinGW,gcc安装成功,但显示此错误。尝试安装64位MinGW但无法安装。 搜索了很多,尝试了很多东西,但没有任何效果。

最后从此链接安装了“tdm64-gcc-5.1.0-2”&gt;&gt; https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect

安装&amp;单次尝试没有任何错误。没有什么特别的尝试。

基本要点,安装后需要在env路径上添加“bin”目录(在我的情况下为'C:\ TDM-GCC-64 \ bin')。然后在控制台&gt;&gt;上检查此命令的gcc安装。 “gcc --version”,这将显示安装的gcc版本。

答案 3 :(得分:0)

在我的情况下,安装程序mingw-get-setup.exe无法下载某些文件,因此gcc复杂工具链已损坏,重新运行mingw-get-setup.exe并获取丢失的文件时,就可以了。

答案 4 :(得分:0)

就我而言,多个工具链已将不同的gcc安装放入PATH。

(这变成了一个开关!)

答案 5 :(得分:0)

我安装了专属website的MinGW 我选择“基本设置”(我只想得到c编译器),并且我标记了所有包,在这个安装之后我添加了路径,就我而言。

  

C:\ MinGW的\ BIN

我在

中创建了一个c文件
  

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

名称为untitled1.c

温我尝试使用命令

  

gcc untitled.c

命令promt向我展示了这条消息。

  

gcc:CreateProcess:没有这样的文件或目录

<小时/> 我是如何解决这个问题的?
我删除了所有包,

  

- 打开“MinGW Installation Manager”
   - 选择“基本设置”。
   - 标记删除所有包裹。
   - 选择“安装”点击。
   - 单击“应用更改”    - 再次安装后。

操作系统

  • 版本:Windows 10 Pro
  • 版本:1607
  • Os build:14393.187

答案 6 :(得分: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