我使用make(我有cygwin.dll)
编译以下错误 *** Couldn't reserve space for cygwin's heap (0x150000) in child, cygheap, Win32 error 0
0 [main] make 4336 sync_with_child: child 2968(0x120) died before initialization with status code 0x1
308 [main] make 4336 sync_with_child: *** child state waiting for longjmp
怎么可以解决? 感谢
答案 0 :(得分:12)
我刚遇到这个问题,并被建议重新绑定导致问题的msys-1.0.dll。
具体来说,我使用了ReBase.exe工具:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64\ReBase.Exe
是Microsoft平台sdk available here的v7.1(可能还有其他版本)的一部分。
备份dll,然后在平台sdk命令提示符下尝试此命令行:
rebase -b 0x30000000 /path/to/msys-1.0.dll
这解决了我的问题。
感兴趣的是,我推荐的虚拟内存设置大约为3GB,实际分配的虚拟内存为6GB。
答案 1 :(得分:9)
大多数抱怨此问题的用户报告说重启后它会消失。如果您使用的是Windows 7,请查看this thread中来自 BerndP 的消息,它提供了一些与在Windows上调整虚拟内存设置相关的提示。
This post带来了一个关于Cygwin随机问题的有趣讨论。 BLODA list显示了已知会导致Cygwin中出现奇怪故障和问题的应用程序列表。
修改强>:
Windows 8尚未正式发布,因此don't expect Cygwin to work on it。
Cygwin可以在所有现代32位版本的Windows上运行这包括,截至编写本文时,Windows 2000,Windows XP,Windows Server 2003,Windows Vista,Windows Server 2008,Windows 7以及作为WOW64 32位环境发布的64位版本的Windows(XP / 2003 / Vista / 2008/7/2008 R2)。
答案 2 :(得分:1)
我正在使用eclipse并在Windows 8上使用MinGW + Yagarto。重新启动什么也没做。
我通过扩展我的虚拟内存解决了这个问题,虚拟内存最初设置为896Mb,并且不是3000Mb并且工作正常。
答案 3 :(得分:0)
通过将gcc.exe(或make调用的任何内容)的兼容模式更改为Windows Xp(在Properties->兼容性中),可以解决此问题 但是,必须以管理员身份执行脚本,以避免在调用gcc.exe
时进行多次确认