Я пытаюсь собрать Qt используя nmake
, Но когда я пытаюсь это сделать, я получаю сообщение об ошибке ниже.
ССЫЛКА: фатальная ошибка LNK1123: ошибка при преобразовании в COFF: файл
недействительный или поврежденный
Насколько я знаю, это связано с версией .NET Framework (я использую .NET 4.5), и я получаю ту же ошибку компоновки при компиляции проектов C ++ в VS2010. Чтобы избавиться от этого, я отключаю добавочные ссылки, как это предлагается в этот сообщение.
Но я не знаю, как это сделать, когда я бегу nmake
из командной строки VS Нужно ли упоминать об этом при настройке или я могу передать его как параметр в nmake?
Это флаг компоновщика, поэтому вам нужно будет передать его компоновщику, а не «nmake». То есть в вашем make-файле Windows при сборке из командной строки вам нужно будет найти вызов компоновщика и передать туда аргумент. Псевдокод следует:
Foo:
$ (LD_COMMAND) / ДОПОЛНИТЕЛЬНО: НЕТ
Что вы могли бы, это открыть файл проекта qmake и написать это:
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
Затем вы можете вызвать команду qmake и увидеть сгенерированный Makefile. Ищите «/ INCREMENT: NO», и таким же образом вам нужно будет поместить его в ваш Makefile, если вы создадите его другим способом.
В противном случае, это просто сработает, если вы выполните qmake для генерации Makefile, при условии, что вы подбираете соответствующий файл спецификации для вашей цепочки инструментов и среды.
В соответствии с mkspecs/win32-msvc2010/qmake.conf
Qt 4 и 5 QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
уже там. Так что вы столкнулись с другой проблемой в случае, если вы компилируете Qt в режиме релиза.