Сейчас на форуме: tyns777 (+5 невидимых) |
eXeL@B —› Программирование —› asm --> obj, obj --> Delphi |
Посл.ответ | Сообщение |
|
Создано: 16 мая 2008 13:12 · Личное сообщение · #1 Пытаюсь написать интерфейсную часть к небольшой библиотеке, написанной на asm. Имею obj в формате OMF, скомпилированные MASM (ml.exe v6.14.8444). Однако при попытке скомпилировать проект на D2007 с использованием этой интерфейсной части получаю ошибку: [DCC Error] PNGlib_.pas(162): E2045 Bad object file format: 'D:\Delphi_projects\_pnglib\PNGI_Decompress.obj' Как выяснить, что не нравится компилятору? Ведь на остальные obj он не ругается... Исходники (asm, obj, pas) в прилагаемом файле. a68a_17.05.2008_CRACKLAB.rU.tgz - test.zip |
|
Создано: 16 мая 2008 14:14 · Поправил: OKOB · Личное сообщение · #2 Делфя ест не все OMF файлы. Некоторые нужно прогонять через утилиту OMF2D от EliCZ. Кусок из мануала 4) Convert OMF to widely acceptable OMF. OMF2D Object.obj /OLNames.opt /OENames.opt >Object.dh (It is recommended to use DFix.bat. Set the right paths in this file.) 5) Add files to Delphi project: {$I Object.dh} {$L Object.obj} ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 16 мая 2008 17:15 · Личное сообщение · #3 Используй Object file converter by Agner Fog This utility can be used for converting object files between COFF/PE, OMF, ELF and Mach-O formats for all 32-bit and 64-bit x86 platforms. Can also be used as a cross-platform library manager, a dump utility, and a powerful disassembler supporting the SSE4 and SSE5 instruction sets. Source code included (GPL).
objconv.zip http://www.agner.org/optimize/objconv.zip ----- EnJoy! |
|
Создано: 17 мая 2008 03:15 · Личное сообщение · #4 |
|
Создано: 17 мая 2008 08:20 · Личное сообщение · #5 Jupiter Пробовал я эту утиль, да только результат тот же, хотя obj получается немного другой внутри, чем после ml Может надо что в исходниках asm поправить? Не мог бы ты посмотреть, ибо я не очень в этом деле силен... OKOB omf2d что-то такое сделала, что на obj компилятор дельфи теперь не ругается, зато на перекрестные ссылки ошибка появилась. Вроде как в интерфейсной паскалевской части все правильно написал, или нет? |
|
Создано: 19 мая 2008 15:26 · Личное сообщение · #6 |
|
Создано: 19 мая 2008 16:25 · Личное сообщение · #7 |
|
Создано: 20 мая 2008 08:40 · Личное сообщение · #8 MiHaN Твой простейший код и у меня хорошо скомпилился, но попробуй скомпилить мой! Я уже пробовал такие методы: 1) COFF obj --> через coff2omf.exe в OMF obj --> через omf2d.exe в борландовский формат OMF 2) OMF obj сделанные ml.exe --> через omf2d.exe в борландовский формат OMF В 1-м случае на выходе при компиле делфийского проекта получаю "Bad object file format..." Во 2-м - кучу "Unsatisfied forward or external declaration"... ((( HELP!!! |
|
Создано: 20 мая 2008 09:02 · Личное сообщение · #9 |
|
Создано: 20 мая 2008 10:53 · Личное сообщение · #10 |
|
Создано: 20 мая 2008 16:14 · Поправил: OKOB · Личное сообщение · #11 чей coff2omf используешь? у меня есть COFF to OMF Object Module Conversion Utility, Version 1.00.195 Copyright (C) 1994 by Walter Oney All rights reserved а еще оказывается есть COFF to OMF Converter Version 1.0.0.74 Copyright (c) 1999, 2000 Inprise Corporation второй должен бы взлететь или поведать, что не так правка: хотя "королевство делфи" говорит об обратном 2. Есть специальная утилита: COFF2OMF.EXE. Причем ее есть 2 штуки. Одна от свмой Borland, так вот ОНА НЕ РАБОТАЕТ! Нужно использовать утилиту, сделанную Walter Oney. ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 20 мая 2008 18:09 · Личное сообщение · #12 |
|
Создано: 21 мая 2008 07:49 · Личное сообщение · #13 |
|
Создано: 21 мая 2008 08:27 · Личное сообщение · #14 |
|
Создано: 21 мая 2008 08:36 · Личное сообщение · #15 |
|
Создано: 21 мая 2008 10:11 · Личное сообщение · #16 |
|
Создано: 21 мая 2008 13:54 · Личное сообщение · #17 ciler тебе sss дело говорит, переименовал я PNGI_Decompress.asm в 1.asm и coff2omf его сконвертил, а с родным именем он его игнорирует, поэтому omf2d ругался и отсюда "Bad object file format". Там дальше правда делфи ругается, что PNGI_GenHufTable описана, но среди api не найдена, но это уже не проблема форматов. |
|
Создано: 22 мая 2008 15:50 · Личное сообщение · #18 |
|
Создано: 21 марта 2010 15:09 · Личное сообщение · #19 |
|
Создано: 21 марта 2010 15:28 · Личное сообщение · #20 |
|
Создано: 21 марта 2010 15:31 · Личное сообщение · #21 |
|
Создано: 21 марта 2010 15:45 · Поправил: Модератор · Личное сообщение · #22 progopis ты тулзу от Agner Fog гонял? не помогает? ДОБАВЛЕНО: пока писал ответ, тема обновилась так тебе zlib конвертнуть для делфе? ----- EnJoy! |
|
Создано: 21 марта 2010 15:53 · Личное сообщение · #23 |
eXeL@B —› Программирование —› asm --> obj, obj --> Delphi |