具有大量二进制资源的LNK1106 [英] LNK1106 with big binary resource
问题描述
我的项目中包含一个相当大的.dat文件(896MB)作为BIN资源.现在,我得到一个LNK1106链接错误(致命错误LNK1106:无效的文件或磁盘已满:无法寻求0x382A3920".) 我在Windows XP下使用Visual Studio 2005,并在具有高虚拟内存设置和大量磁盘空间的4GB RAM计算机上进行了尝试. 我尝试了许多不同的优化标志,但无济于事.
I have a rather huge .dat-file (896MB) included as a BIN resource in my project. Now I get a LNK1106 link error ("fatal error LNK1106: invalid file or disk full: cannot seek to 0x382A3920".) I use Visual Studio 2005 under Windows XP, and have tried on a 4GB RAM machine with high Virtual Memory settings and lots of disk space. I have tried a number of different optimization flags, but to no avail.
有人知道吗?
我已将其范围缩小到编译资源的特定大小.如果.res文件为544078588字节(约518.9MB)或更大,则会发生错误.如果较小,则效果很好.仍然没有解决办法,但是...
I have narrowed it down to a specific size of the compiled resource. If the .res file is 544078588 bytes (about 518.9MB) or larger, the error occurs. If it is smaller it works just fine. Still no solution, though...
推荐答案
在其他链接器选项"下,添加/expectedoutputsize:600000000
,链接将像超级按钮一样工作.不过,使用该开关不能走得太远,否则您将得到:
Under "Additional Linker Options", add /expectedoutputsize:600000000
, and the link will work like a charm. You can't go too far with that switch though, or you'll end up with:
FATAL:链接错误LNK1102:内存不足
FATAL : link error LNK1102: out of memory
这篇关于具有大量二进制资源的LNK1106的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!