我正在使用 MinGW 发行版中的 Make。它一直有效,但最近我收到以下错误:
> make clean
make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0040b0ac)
各个部分如下所示:
clean:
del /S /Q *.o > nul
del /S /Q *.cy.c > nul
del /S /Q *.pyc > nul
del /S /Q *.pyo > nul
if EXIST build (rmdir /S /Q dist > nul)
我不知道这是什么原因造成的。尤其是因为它一直运行良好。
答案1
我也开始遇到一个异常:
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)
可能还有其他原因,但这个问题显然是由于 PATH 变量包含括号(
,引起的)
,就像在 Win Vista/7 上一样。不幸的是,可用的 Windows 版 GNU 已经过时了。
通过强制使用正确的 shell 解决了我的问题make
:在 makefile 的开头插入以下行。
SHELL=C:/Windows/System32/cmd.exe
答案2
当我将 Git 的 bin 目录添加到PATH
环境变量时,我遇到了这个问题。原因似乎是 Git 附带了一个 MSYS 版本,而这似乎与 MinGW 冲突(也许当它是正确版本的 MSYS 和/或 MinGW 时不会发生冲突,但这只是猜测)。
因此,请确保您的PATH
.
答案3
进一步回答 Norbet P. 的问题后,我发现可以添加:
PATH=
我的 Makefile 顶部为我修复了这个特殊问题。
答案4
我一直在使用 GnuWin,直到我意识到最新版本是在 11 月 26 日发布的2006。这有点蹩脚,并导致了上述问题。设置 SHELL=C:/Windows/System32/cmd.exe 确实解决了一些问题,但在新操作系统上运行这样的旧代码感觉不安全
MinGw 是更安全的选择。MinGw 是“适用于 Windows 的极简 GNU”的缩写,它是最新的,并包含 make 和其他工具