make:捕获中断/异常

make:捕获中断/异常

我正在使用 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 和其他工具

http://sourceforge.net/projects/mingw/files/

相关内容