赢8,cygwin堆失败

Yak*_*kov 5 windows cygwin compilation

我得到以下错误编译与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
Run Code Online (Sandbox Code Playgroud)

怎么可以解决?谢谢

小智 12

我刚遇到这个问题,并被建议重新绑定导致问题的msys-1.0.dll.

具体来说,我使用了ReBase.exe工具:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64\ReBase.Exe
Run Code Online (Sandbox Code Playgroud)

这是微软的平台SDK V7.1(也许还有其他版本)的一部分,可以在这里找到.

获取dll的备份,然后在平台sdk命令提示符下尝试此命令行:

rebase -b 0x30000000 /path/to/msys-1.0.dll
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.

为了兴趣,我推荐的虚拟内存设置大约为3GB,实际分配的虚拟内存为6GB.


kar*_*lip 9

  • 重启系统:

大多数用户抱怨这个问题,报告说它在重启后就消失了.如果您使用的是Windows 7,请在此主题中查看来自BerndP的消息,它提供了一些与在Windows上调整虚拟内存设置相关的提示.

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

这篇文章对Cygwin的随机问题进行了有趣的讨论.该BLODA列表给出的已知会导致奇怪的故障和问题Cygwin中的应用程序列表.

编辑:

Windows 8还没有正式发布,所以不要指望Cygwin能够使用它.

Cygwin可以在所有现代32位版本的Windows上运行这包括,截至编写本文时,Windows 2000,Windows XP,Windows Server 2003,Windows Vista,Windows Server 2008,Windows 7以及WOW64发布的64位版本的Windows(XP/2003/Vista/2008/7/2008 R2)上的32位环境.