LNK1106 с большим двоичным ресурсом - PullRequest
5 голосов
/ 16 ноября 2009

У меня довольно большой .dat-файл (896 МБ), включенный в качестве ресурса BIN в мой проект. Теперь я получаю ошибку ссылки LNK1106 («фатальная ошибка LNK1106: неверный файл или диск переполнен: невозможно найти 0x382A3920».) Я использую Visual Studio 2005 под Windows XP и пробовал машину с 4 ГБ ОЗУ с высокими настройками виртуальной памяти и большим количеством дискового пространства. Я пробовал несколько разных флагов оптимизации, но безрезультатно.

У кого-нибудь есть подсказка?

РЕДАКТИРОВАТЬ: я сузил его до определенного размера скомпилированного ресурса. Если размер файла .res составляет 544078588 байт (около 518,9 МБ) или больше, возникает ошибка. Если он меньше, он работает просто отлично. Тем не менее, пока нет решения ...

Ответы [ 3 ]

3 голосов
/ 31 марта 2010

В разделе «Дополнительные параметры компоновщика» добавьте /expectedoutputsize:600000000, и ссылка будет работать как шарм. Вы не можете зайти слишком далеко с этим переключателем, иначе вы получите:

FATAL: ошибка связи LNK1102: недостаточно памяти

1 голос
/ 20 ноября 2009

Я исправил это, изменив / OPT: IFC на / OPT: NOIFC. Не могу сказать, почему это работает. Ваши результаты могут отличаться.

0 голосов
/ 16 ноября 2009

Создан ли файл данных или он недавно изменился? Возможно, ваша программа пытается установить связь с неверной версией.

...