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

2019-06-21 02:46发布

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

这是一个常见的错误,我已经试过,我发现所有的解决方案,但没有成功。

特别是,(以下CreateProcess的:没有这样的文件或目录 ),我曾尝试:

  1. 将帖子添加C:\ MinGW的\的libexec \ GCC \的mingw32 \ 4.7.2到我的系统PATH
  2. 通过MinGW的-得到CLI卸载并重新安装gcc:

    MinGW的,得到的mingw32删除与海合会
    MinGW的-get安装的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

Answer 1:

你不应该添加C:\MinGw\libexec\gcc\mingw32\4.7.2的路径。

地址: c:\MinGW\bin

您可能需要重新启动,以确保路径是提供给所有进程正常。

另一个建议是使用不同的MinGW的分布。 它一直以来我用了一个“官方” MinGW的分布,因为安装步骤是如此拜占庭和脆弱的很长一段时间。 我听说他们已经取得了很大的进步来安装,但是从我听到它似乎仍然是相当复杂和脆弱。

TDM的安装程序只是工作,但我认为TDM版本是不太对4.7.2。

该nuwen分布的安装只是解包在您想要的东西存档(我喜欢这个!),并确保路径指向gcc.exe的位置。 Nuwen还包Boost库,这是很好的。


我区分有帮助,这就是我从获得gcc -v hello.cc:\mingw.4.7.2\bin是在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


Answer 2:

就我而言,我的MinGW卸载了一些项目,以节省我的SSD空间。 安装的mingw32-gcc的开发类固定这个问题对我来说。



Answer 3:

我有同样的错误。 我有64位赢得7操作系统。 首先,我安装了32位MinGW的,海湾合作委员会已成功安装,但显示这个错误。 尝试安装64位MinGW的,但安装失败。 搜索了很多,尝试了很多东西,但没有奏效。

最后安装“tdm64-GCC-5.1.0-2”从这个链接>> https://sourceforge.net/projects/tdm-gcc/?source=typ_redirect

它安装在与一次尝试的工作没有任何错误。 没什么特别的尝试。

其基本要点,安装后需要添加ENV路径“bin”目录(:在我的情况下,“C \ TDM-GCC-64 \ BIN”)。 然后,从控制台>>“GCC --version”命令检查GCC安装,这将显示安装gcc版本。



Answer 4:

在我的情况下,安装mingw-get-setup.exe未能下载一些文件,因此gcc的复杂工具链重新运行时被打破, mingw-get-setup.exe并获得丢失的文件,它确定。



Answer 5:

在我的情况下,多个工具链都放在不同的GCC安装到PATH。

(这正在变成一个开关!)



Answer 6:

在我的情况下,摆脱的[=n]参数时指定-flto解决了这个问题。

具体地,代替使用

-flto=6

在CFLAGS,CXXFLAGS和LDFLAGS,我现在使用简单

-flto


看起来这是一个与MinGW-W64的错误,认为在这一点上我不知道它是否会被我利用来造成-j6调用make时参数。

对于未来的参考,我的整个命令行如下:

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

这是构建wxWidgets的 “‘最少的样品’。 关于-Wl,--allow-multiple-definition :它的目的,以规避又一工具链的bug。 更多信息在这里和这里 。



Answer 7:

我安装了ofcial的MinGW的网站 。
我选择“基本设置”(我只是想获得C编译器),和我打上所有封装,安装后我加入了路径,在我的情况。

C:\ MinGW的\ bin中。

我创建交流文件

C:\用户\基督教\文件\ C项目\

名为untitled1.c

温家宝我尝试使用命令

GCC untitled.c

命令PROMT给我看了那个消息。

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


我是怎么解决这个问题?
我删除了所有包,

- 开放“MinGW的安装管理器”
- 选择“基本设置”。
-mark去除所有包。
- 选择“安装”水龙头。
- 点击在应用更改。
- 后可以重新安装这些。


操作系统

  • 版本:视窗10专业
  • 版本:1607
  • OS构建:14393.187


Answer 8:

我也有同样的问题。

我有一个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


文章来源: Yet Another MinGW “gcc: error: CreateProcess: No such file or directory”