Параметры компоновщика для предотвращения «Программа слишком велика, чтобы поместиться в памяти» - PullRequest
0 голосов
/ 10 августа 2009

Я использую Microsoft Visual Studio 2008 и успешно собираю программу командной строки на C ++.

Однако для моей автоматической сборки я вызываю cl.exe и link.exe вне контекста MSVC (я строю с использованием Maven Native, так как большая часть проекта - Java) .

В этом случае мне удается сгенерировать мой исполняемый файл. Но когда я ее выполняю, я сразу получаю сообщение «Программа слишком велика, чтобы поместиться в памяти».

Конечно, проблем с памятью нет: у меня мощная машина XP с 2 ГБ памяти. Я предполагаю, что исполняемому файлу не хватает правильных двоичных заголовков, и что мне нужно использовать определенные опции для cl.exe или, что более вероятно, для link.exe .

Есть идеи?

1 Ответ

1 голос
/ 10 августа 2009

В графическом интерфейсе в свойствах проекта вы можете увидеть параметры командной строки, передаваемые cl.exe и link.exe, просмотрев раздел «Командная строка» в разделах C / C ++ и Linker соответственно.

Посмотрите, сравните и сопоставьте, чтобы увидеть, что вы делаете по-другому.

Ошибка сама по себе предполагает, что ваш бинарный файл (.exe) поврежден. См. this для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...