MinGW GCC 致命错误 - gcc: CreateProcess: No such file or directory

Posted

技术标签:

【中文标题】MinGW GCC 致命错误 - gcc: CreateProcess: No such file or directory【英文标题】:MinGW GCC Fatal Error - gcc: CreateProcess: No such file or directory 【发布时间】:2022-01-13 10:46:29 【问题描述】:

今天我的gcc突然坏了,不知道怎么修。

这里gcc 1.c我得到了 gcc.exe: CreateProcess: No such file or directory

我在网上试过很多方法,包括:

将“C:\MinGW\bin”添加到系统路径。 重新安装 MinGW 重启 安装 Nuwen 的 MinGW 发行版。

它们都不起作用。

但是当我输入gcc 1.c 时,Nuwen 的分布给了我更多信息:

gcc: fatal error: cannot execute 'c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/cc1.exe': CreateProcess: No such file or directory
compilation terminated.

gcc 似乎找不到cc1.exe。但是cc1.exe 并没有丢失。它停留在正确的路径上,并且是可调用的。如果我输入cc1.exe ...,它会正常工作并且返回时不会出现错误或警告。

这里有更多信息:

gcc -v 1.c:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry --enable-threads=posix --enable-libgomp --with-zstd=/c/mingw --disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
 c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/cc1.exe -quiet -v -iprefix c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/11.2.0/ -D_REENTRANT 1.c -quiet -dumpdir a- -dumpbase 1.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o C:\Users\delux\AppData\Local\Temp\ccrtSf2l.s
gcc: fatal error: cannot execute 'c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/cc1.exe': CreateProcess: No such file or directory
compilation terminated.

gcc -print-search-dirs:

install: c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/11.2.0/
programs: =c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/11.2.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/x86_64-w64-mingw32/11.2.0/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/
libraries: =c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/11.2.0/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/lib/../lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../x86_64-w64-mingw32/11.2.0/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../lib/;C:/temp/gcc/dest/mingw/lib/x86_64-w64-mingw32/11.2.0/;C:/temp/gcc/dest/mingw/lib/../lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../;C:/temp/gcc/dest/mingw/lib/

我的电脑里还有另一个 MinGW,但我没有将它们的目录添加到系统路径变量中。我的操作系统是Win10。

顺便说一句,我在 Xilinx ISE 14.7 中进行仿真时出现了这个问题。但是我电脑里的所有MinGW gcc都不能一起工作,报同样的错误。

有什么解决办法吗?谢谢!

[更新] 通过在我的计算机中停止 MacType 来解决问题。我没有意识到这个错误与 MacType 有关。虽然我仍然不知道为什么,但至少问题解决了。谢谢大家。

问候, D.

【问题讨论】:

因此,Xilinx 安装似乎阻碍了它。你试过卸载它吗? @thebusybee 我试过了。既不卸载也不重新安装。 奇怪。我试图在没有任何前缀的情况下调用“cc1”,但我的 CMD 没有找到它。你试过where gccwhere cc1 看看用的是哪一个? @thebusybee 确实很奇怪。起初where cc1 什么也不返回。所以我将它添加到系统路径中。现在gccC:\MinGW\bin\gcc.execc1C:\MinGW\libexec\gcc\x86_64-w64-mingw32\11.2.0\cc1.exe,我认为这是正确的。但是gcc 1.c 仍然失败并出现同样的错误。 我认为“cc1”不能用路径调用是正常的,我的意思是它的路径不在“PATH”中。 “gcc”应该知道如何调用它,并且正如详细输出所示,它会尝试这样做。但是我不知道为什么系统认为找不到它。 -- “-iprefix”选项中混合了斜杠和反斜杠。您自己构建 GCC 吗? 【参考方案1】:

经过2天的尝试,我终于找到了问题的原因。

事实证明,在我的计算机上运行的 MacType 不知何故导致 MinGW 损坏。所以解决方案相当简单:终止 MacType 程序

如果您仍想将 MacType 与 MacTray 一起使用,兼容模式可能是您的选择。不要使用独立模式!

我还没弄清楚为什么 MacType 让我的 MinGW 无法正常工作。如果您有任何线索,请随时发表评论!

【讨论】:

【参考方案2】:

当我尝试升级 gcc 时,MicroSoft Defender 告诉我它把 D:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\11.2.0\cc1.exe 在隔离区,因为它包含 VirTool:Win32/Obfuscator.IY 所以我认为你的案例 cc1.exe 也被病毒保护程序阻止了,你现在正在使用替代品。

【讨论】:

以上是关于MinGW GCC 致命错误 - gcc: CreateProcess: No such file or directory的主要内容,如果未能解决你的问题,请参考以下文章

带有 MinGW GCC 的 Eclipse CDT 生成错误 127

GCC 致命错误:stdio.h:没有这样的文件或目录

x86_64-w64-mingw32-gcc.exe:错误:CreateProcess:没有这样的文件或目录

gcc+mingw 下的 C++ segfault 但不是 gcc+linux

Eclipse 发现错误的 GCC (Windows)

GCC 8.1.0/MinGW64 编译的 OpenMP 程序崩溃寻找 cygwin.s?