Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Linking static lib in Delphi (or BCB) project   Найти похожие ветки 

 
SurgeonY   (2006-02-23 10:42) [0]

Добрый день! Возникла проблемка.
Имеется DLL — проект на Дельфи, использующая вторую (стороннюю) DLL, всё прекрасно работает, НО — в поставке 2 файла .dll.

Задача: получить ЕДИНСТВЕННЫЙ файл .DLL, используюя имеющуюся статическую LIB, идущую в комплекте со сторонней DLL. Эта сторонняя написана на VC++ 6.0, статическая LIB соответствующая, т.е. в формате COFF плюс наверно соответствующий Name Mangling от Microsoft, естественно всё это не совместимо с Borland компиляторами и линкерами.

Вопрос — как можно прилинковать статическую LIB от VC++ 6.0 в борландовых средствах разработки. Или как можно конвертировать эту статическую LIB(или вытянутые из неё OBJ) из формата COFF в формат OMF, понимаемый борландовыми средствами.

Что пробовано:
1. LIB с помошью микрософтового либбера распатронена на отдельные OBJ, после чего они обработаны утилитой coff2omf от Walter Oney с сайта Digital Mars (по совету http://www.rsdn.ru/Forum/Message.aspx?mid=1595072), после чего утилитой OMF2D оттуда же. В результате обджи линкуются Дельфой, но в них вылазят вызовы malloc и free, на к-рые и ругается, очевидно должно линковаться шото типа RTL от VC.
2. таким же образом обработанная LIB была подсунута BCB, он её нормально съел, но при вызове какой-либо функции из неё (имеется её родной хедер) ругается [Linker Error] Error: Unresolved external "func_name" referenced from UNIT1.OBJ, вероятно из-за этого Name Mangling .


 
Сергей М. ©   (2006-02-26 11:35) [1]


> Вопрос — как


Ответ - никак.


 
PVOzerski ©   (2006-02-27 10:26) [2]

Можно попытаться объявить malloc и free с соответствующим манглингом  как external"ы из какой-нибудь msvcrt40.dll. Но успех не гарантирован.



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
15-1141988600
NightLord
2006-03-10 14:03
2006.04.02
Кому нужны вирусы и зачем


15-1142247265
Сатир
2006-03-13 13:54
2006.04.02
Обработка события дочернего компонента


1-1141280201
Димон
2006-03-02 09:16
2006.04.02
запуск Оутлук с адресом из таблицы


2-1142853383
Report3
2006-03-20 14:16
2006.04.02
Опялть про Dbgrid


9-1127179061
Slavikk
2005-09-20 05:17
2006.04.02
GLScene+DWS Как установить?