Frisch getestet:
DLL my.dll erstellt mit Borland Studio 2006 (Delphi für
Win32 Dll Projekt)
my.lib importiert mit MS Visual Studio 2005 (C++ für
Win32 Projekt)
my.def erstellen mit BORLAND:
my.lib erstellen mit MSVC:
Code:
LIB /MACHINE:x86 /DEF:my.def
Textdatei def.tmp als Vorlage für .def Datei mit MSVC erstellen (falls IMPDEF Probleme macht.):
Code:
DUMPBIN /EXPORTS /OUT:def.tmp my.dll
Oder DEF Datei per Hand:
Code:
LIBRARY MY.DLL
DESCRIPTION 'MY
Dll'
EXPORTS
myFunction ; comment
Im Header:
Code:
#define DLLPACK __declspec(dllimport)
extern "C" {
DLLPACK float myFunction(void);
}
my.lib in Projekt einbinden und fertig.
p.s. Kann - außer etwas Tipparbeit - keinen Nachteil des Ladens zur Laufzeit sehen. Im Gegenteil: So kann sich ein Programm definiert verhalten selbst wenn die
DLL fehlt. Verzicht auf die
DLL durch statisches linken ist mit einer Importbibliothek ja eh nicht drin.