赢8,cygwin堆失败

时间:2012-03-29 20:19:22

标签: windows compilation cygwin

我使用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

怎么可以解决? 感谢

4 个答案:

答案 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上调整虚拟内存设置相关的提示。

  • 可能是一些干扰Cygwin的软件:

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

时进行多次确认