MinGW Make导致StackDumps

时间:2014-10-21 02:34:35

标签: makefile mingw

当我使用MinGW make的unix实用程序时,我得到一个StackDump文件:

错误:

sed -i -e 's/reveal.js\/css\/theme\/simple.css/reveal.js\/css\/theme\/moon.css/' index.html
      0 [main] sed 8744 open_stackdumpfile: Dumping stack trace to sed.exe.stackdump
make: *** [index.html] Error 5

sed.exe.stackdump:

MSYS-1.0.12 Build:2012-07-05 14:56
Exception: STATUS_ACCESS_VIOLATION at eip=68008DAA
eax=03019001 ebx=60EA4124 ecx=00692788 edx=00000150 esi=00000000 edi=60EA00D4
ebp=0028FE9C esp=0028FE78 program=c:\Program Files (x86)\Git\bin\sed.exe
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame     Function  Args
0028FE9C  68008DAA  (60EA00D4, 00000150, 0028FEEC, 680044EA)
0028FEEC  6800466B  (00000000, 00000000, 0028FF2C, 00517CF8)
0028FF0C  68004C5F  (00401C28, 00000000, 5C952BA0, FFFFE001)
0028FF2C  68004C98  (00000000, 00000000, 928A67BF, FFFFF800)
0028FF5C  00517C08  (00401C28, FFFFE001, 00000001, 00000000)
0028FF8C  0040103D  (7FFDE000, 0028FFDC, 771F0BBB, 7FFDE000)
0028FF98  74F6919F  (7FFDE000, 99B8EAFE, 00000000, 00000000)
0028FFDC  771F0BBB  (FFFFFFFF, 771DC9D0, 00000000, 00000000)
0028FFEC  771F0B91  (00401000, 7FFDE000, 00000000, 78746341)
End of stack trace

尝试使用rmmvcp等工具时出现非常类似的错误。我该怎么做才能解决这些错误?它使得在Windows上进行开发变得不可能。

我使用的make二进制文件位于C:\MinGW\msys\1.0\bin\make.exe,版本信息为:

GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-msys

2 个答案:

答案 0 :(得分:2)

我猜你的问题是sed的msysgit版本使用C:\MinGW\msys\1.0\bin中的MSYS DLL版本而不是c:\Program Files (x86)\Git\bin中的DLL。尝试更改PATH,以便makefile使用sed中的C:\MinGW\msys\1.0\bin,而不是msysgit版本。

答案 1 :(得分:1)

我发现了这个问题。我实际上使用的是MSYS版本的make,但sed二进制文件是随cmder一起提供的。这种不匹配导致了堆栈转换。我修好了路径,现在工作正常。