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 gcc
和where cc1
看看用的是哪一个?
@thebusybee 确实很奇怪。起初where cc1
什么也不返回。所以我将它添加到系统路径中。现在gcc
是C:\MinGW\bin\gcc.exe
和cc1
是C:\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
x86_64-w64-mingw32-gcc.exe:错误:CreateProcess:没有这样的文件或目录