LNK1106具有大二进制资源

时间:2009-11-16 14:39:33

标签: c++ windows visual-studio visual-studio-2005 linker

我的项目中包含一个相当庞大的.dat文件(896MB)作为BIN资源。现在我收到LNK1106链接错误(“致命错误LNK1106:无效文件或磁盘已满:无法寻找0x382A3920”。) 我在Windows XP下使用Visual Studio 2005,并试用了具有高虚拟内存设置和大量磁盘空间的4GB RAM机器。 我尝试了许多不同的优化标志,但无济于事。

有没有人有线索?

编辑:我已将其缩小到已编译资源的特定大小。如果.res文件是544078588字节(大约518.9MB)或更大,则会发生错误。如果它更小它可以正常工作。仍然没有解决方案,但是......

3 个答案:

答案 0 :(得分:3)

在“其他链接器选项”下,添加/expectedoutputsize:600000000,该链接将像魅力一样工作。你不能用那个开关走得太远,否则你最终会得到:

  

致命:链接错误LNK1102:内存不足

答案 1 :(得分:1)

我通过更改/ OPT:IFC到/ OPT:NOIFC来修复此问题。不能告诉你为什么它有效。您的结果可能会有所不同。

答案 2 :(得分:0)

最近是生成了dat文件还是更改了?您的程序可能正在尝试链接不正确的版本。