编译webkit出现 LNK1102:out of memory

最近升级webkit,发现webkit多了很多文件,在编debug版的时候到没什么问题,但编release版时却在最终链接webkit.dll的时候出现了out of memory的错误,我就奇怪了。我有3G的内存,怎么也会出现link of memory的错误了?我又试着加大虚拟内存,还是没法链过。我又试着在4G内存的机器上,还是无法链过。我到网上找资料,也没找到解决方法。后来我想了一下,webcore.lib有1.6G左右,link的时候一般会将所有lib加载到内存(一部分会放在虚存里面),webkit.lib加上其依赖的lib应该总共在2G以上,而windows默认给的用户空间地址才2G,因此无论有多大内存,link都会出现内存不足。

解决方法也不复杂,将用户的地址空间改为3G,在各个windows系统修改方法参考http://hi.baidu.com/didi_nica/blog/item/06a9ea15ff3ee502c93d6d59.html。但改为3G后又出现了一个问题,cl.exe在编译的时候经常会出内部错误,这个问题参考https://connect.microsoft.com/VisualStudio/feedback/details/333613/compiler-file-msc1-cpp-line-1393?wa=wsignin1.0,倒没找到什么解决方法。最终我只能在2G用户的地址空间先编译,在链接的时候再改为3G模式了。

现在webkit已经如此了,后面webkit更大了只有又该怎么办?看来只有64位系统才能解决链接问题了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值