简体   繁体   English

赢8,cygwin堆失败

[英]Win 8 ,cygwin heap failure

I get the following error compiling with make (I have cygwin.dll) 我得到以下错误编译与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

How could it be solved? 怎么可以解决? Thanks 谢谢

I just ran into this problem and was advised to rebase the msys-1.0.dll which was causing the problem. 我刚遇到这个问题,并被建议重新绑定导致问题的msys-1.0.dll。

Specifically, I used the ReBase.exe tool: 具体来说,我使用了ReBase.exe工具:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64\ReBase.Exe

which is part of v7.1 (and perhaps other versions) of Microsoft's platform sdk available here . 这是微软的平台SDK V7.1(也许还有其他版本)的一部分, 可以在这里找到

take a backup of the dll, and then try this command line inside the platform sdk command prompt: 获取dll的备份,然后在平台sdk命令提示符下尝试此命令行:

rebase -b 0x30000000 /path/to/msys-1.0.dll

this solved the issue for me. 这解决了我的问题。

for interest, my recommended virtual memory settings were set at around 3GB, and the actual allocated virtual memory was at 6GB. 为了兴趣,我推荐的虚拟内存设置大约为3GB,实际分配的虚拟内存为6GB。

  • Reboot your system: 重启系统:

Most users complaining about this problem reported it goes away after a reboot. 大多数用户抱怨这个问题,报告说它在重启后就消失了。 If you are using Windows 7, check the message from BerndP in this thread , it has some tips related to adjusting Virtual Memory settings on Windows. 如果您使用的是Windows 7,请在此主题中查看来自BerndP的消息,它提供了一些与在Windows上调整虚拟内存设置相关的提示。

  • Might be some software interfering with Cygwin: 可能是一些干扰Cygwin的软件:

This post brings an interesting discussion of random problems with Cygwin. 这篇文章对Cygwin的随机问题进行了有趣的讨论。 The BLODA list presents a list of applications that are known to cause strange failures and problems in Cygwin. BLODA列表显示了已知会导致Cygwin中出现奇怪故障和问题的应用程序列表。

EDIT : 编辑

Windows 8 has not been officially released, so don't expect Cygwin to work on it . Windows 8还没有正式发布,所以不要指望Cygwin可以使用它

Cygwin can be expected to run on all modern 32 bit versions of Windows This includes, as of the time of writing this, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, as well as the WOW64 32 bit environment on released 64 bit versions of Windows (XP/2003/Vista/2008/7/2008 R2). 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位环境。

I am working with eclipse and am using MinGW + Yagarto on Windows 8. Restarting did nothing. 我正在使用eclipse并在Windows 8上使用MinGW + Yagarto。重新启动什么也没做。

I solved the issue by expanding my virtual memory, which was originally set to 896Mb and is not at 3000Mb and working fine. 我通过扩展我的虚拟内存解决了这个问题,最初设置为896Mb并且不是3000Mb并且工作正常。

通过将gcc.exe(或make调用的任何内容)的兼容模式更改为Windows Xp(在Properties-> compatibility中)可以解决此问题但是,必须以管理员身份执行脚本以避免在调用gcc.exe时多次确认

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM