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

Вниз

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

 
SurgeonY   (2006-02-21 18:46) [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-03-06 16:32) [1]

Удалено модератором


 
wicked ©   (2006-03-06 16:39) [2]

с malloc и free проблему решить как раз просто - требуется просто подсунуть линкеру эти функции, написанне хоть и на делфи....
с другим - какие именно функции оно не видит?...


 
Spirit111   (2006-03-09 18:43) [3]

Как удалось решить проблему?


 
SurgeonY   (2006-03-14 13:03) [4]

Никак :-( После долгих мытарств оставлен вариант с двумя длл-инами. Все эти утилиты нормально не могут сконвертировать либу или обджи - всё равно остаются функции, которые билдер ни под каким соусом не видит, хотя они в либе есть (malloc, free и там ещё нашлось несколько таких решилось просто - подсунуты были за msvcrt.dll и ещё нескольких).
Делфи так же не находит кучу родных либовых функций, хотя внешне обджи вроде конвертятся нормально.



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

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

Наверх




Память: 0.48 MB
Время: 0.059 c
9-1127987214
XCoder
2005-09-29 13:46
2006.04.16
Вопрос по LightMaps (OpenGL)


2-1143539949
Квэнди
2006-03-28 13:59
2006.04.16
Опять про IdMessage


15-1142938271
Некто
2006-03-21 13:51
2006.04.16
ГОСТ техническое задание


15-1143560993
Kerk
2006-03-28 19:49
2006.04.16
РФС: сборная станет чемпионом Европы в 2012 году


2-1144097727
__alex
2006-04-04 00:55
2006.04.16
Чудеса с глобальными (public) переменными - 2