【发布时间】: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 吗?