E2045 Плохой файл объекта Формат: "XXX.obj"


3

Вы не можете использовать 32-битный объект с 64-битным компилятором. Вы должны перекомпилировать свой код с помощью 64-битного компилятора.

Для этого вы можете использовать несколько разных компиляторов. Хотя я слышал о людях, преуспевших в gcc, я так и не смог этого сделать. Я считаю, что современный компилятор Embarcadero, основанный на Clang, может использоваться, но у меня лично нет опыта в этом. Я всегда использовал компилятор Microsoft для создания 64-битных объектов. И, конечно же, именно так Embarcadero сделали это для библиотек, таких как zlib, которые они связывают с их RTL.


2

Да, вам нужно преобразовать эти .objфайлы в 64 бит.

Преобразование 32-разрядных приложений Delphi в 64-разрядные версии Windows :

  • 64-разрядные внешние .obj-файлы . Если вы ожидаете, что ваше 64-битное приложение Windows будет ссылаться на внешний .obj-файл, имейте в виду, что вам понадобится 64-разрядная версия файла .obj для связи с 64-битным Windows.
с, Дельфы, линкер, 32bit-64bit, Дельфи-10-сиэттл,

c,delphi,linker,32bit-64bit,delphi-10-seattle,

-1

Ответов: 2


3

Вы не можете использовать 32-битный объект с 64-битным компилятором. Вы должны перекомпилировать свой код с помощью 64-битного компилятора.

Для этого вы можете использовать несколько разных компиляторов. Хотя я слышал о людях, преуспевших в gcc, я так и не смог этого сделать. Я считаю, что современный компилятор Embarcadero, основанный на Clang, может использоваться, но у меня лично нет опыта в этом. Я всегда использовал компилятор Microsoft для создания 64-битных объектов. И, конечно же, именно так Embarcadero сделали это для библиотек, таких как zlib, которые они связывают с их RTL.


2

Да, вам нужно преобразовать эти .objфайлы в 64 бит.

Преобразование 32-разрядных приложений Delphi в 64-разрядные версии Windows :

  • 64-разрядные внешние .obj-файлы . Если вы ожидаете, что ваше 64-битное приложение Windows будет ссылаться на внешний .obj-файл, имейте в виду, что вам понадобится 64-разрядная версия файла .obj для связи с 64-битным Windows.
с, Дельфы, линкер, 32bit-64bit, Дельфи-10-сиэттл,
Похожие вопросы