shell命令的GNU MAKE异常

时间:2014-05-21 15:19:28

标签: windows path makefile gnu

我在WIN7 PC上运行make我的项目并收到以下错误:

make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0040b0ac)

当删除一些制作部件时,似乎以下行是有问题的:

$(shell if exist $(1) echo YES)

任何想法似乎都是问题?溶液

谢谢!

更新

我正在使用gnu make 3.81.1 mingw32,同样的make和makefile用于我以前的WIN XP(32位),升级到WIN7后出现问题。

2 个答案:

答案 0 :(得分:3)

好的,我想我已经得到了它。

如果我更换" shell"它显然与PATH有关。具有预定义的命令:

 _SHELL=C:/Windows/System32/cmd.exe

问题得到解决。可能是因为severl c:\ Program Files PATH实例。

升级到3.82也解决了这个问题,所以我想已经修复了

谢谢!

答案 1 :(得分:0)

可以为Windows构建GNU make的方法有很多种,并且不同的方法将为$(shell ...)命令使用不同的shell。我实际上并不知道是否有人会调用Windows command.com。

但无论如何,看起来你的GNU版本似乎不能以这种方式正常工作。你应该更新你的GNU制作地点的问题(cygwin?mingw?)或你如何构建它,如果你自己构建它。

您也可以在make-w32@gnu.org邮件列表中询问,GNU的Windows用户可以在这些邮件列表中使用。