Re: импорт из dll в VC6

From
Alexander Andrusenko ()
To
Boris Rudakov ()
Date
2003-10-22T11:26:10Z
Area
CARBON.COPY
 * Forwarded from area 'SU.WINDOWS.PROG'
From: "Alexander Andrusenko" <andrews@ktm.kiev.ua>

Привет, Борис!

AT> Вобщем вопрос -  как убрать манглинг?
BR> Никак :) :(

Ну почему никак? Извратиться можно :) Есть очень хорошая вещь в настройках
проекта - pre-link step. Как-то раз решил я прилинковать себе secur32.dll.
Сделал себе secur32.def, в котором просто перечислил нужные мне экспорты,
без никаких подчеркиваний и @. Запустил lib.exe /DEF:secur32.def, и
полученный secur32.lib добавил в проект (Project-> Add to project->
Files...)

На случай, если мне захочется изменить def-файл, первым пунктом в pre-link
step я поставил lib.exe /DEF:secur32.def /MACHINE:IX86 (чтоб варнинга не
было). Вторым пунктом у меня была самописная тулза, которая при запуске
пробегала по файлам *.def (а вдруг их будет больше одного?) и Release\*.obj
, искала в obj-файлах строки из def-файлов, и если после найденной строки
оказывался "@", она заменяла его на "\0".

В результате и линковка проходила без ошибок, и запускалась прога тоже
нормально :)


--- ifmail v.2.15dev5
 * Origin: Volia ISP (2:5020/400)