C++ [MS Visual 2008 pro] DLL __stdcall Namen richtig exportieren

Registriert
Dez. 2009
Beiträge
213
Hallo,
ich verwende Microsoft Visual Studio 2008 professional C++.
Damit will ich eine DLL kompilieren.
Ich will unbedingt __stdcall verwenden, da ich die DLL in Delphi verwenden möchte.
Wenn ich die zu exportierenden Funktionen aber wie folgt deklariere:

PHP:
extern "C" __declspec(dllexport) int __stdcall TestFunction(void);

Dann macht der immer aus dem Funktionsname so was: _TestFunction@0
Ich will, dass das nur TestFunction heisst.
In einem anderen Forum habe ich gelesen, dass das extern "C" bei stdcall nicht funktioniert und dass ich in meiner IDE das in den Projektoptionen manuell reinschreiben muss. Aber ich weiß nicht genau wie und wo, das Einstellungsfenster ist so komplex...
 
Wenn ich mich recht entsinne:
Project->Properties->Linker->Command Line und da dann /EXPORT:TestFunction
 
Das ist nicht wirklich eine brauchbare Lösung. Erstell dir eine .def-Datei und gib sie in den Linker-Einstellungen an. Jede Funktion per /EXPORT in die Befehlszeile anzuhängen ist extrem unhandlich, v.a. wenn du mehrere exportieren willst.
 

Ähnliche Themen

Zurück
Oben