Klasse in DLL exportieren
-
Gruß,
also bisher hab ich in DLL's immer nur normale Funktionen exportiert, wie kann ich das jetzt aber mit ganzen Klassen?
-
mit __declspec( dllimport/dllexport )
-
Hallo,
Standard-C++ kennt keine DLLs. Welchen Compiler verwendest du?
-
Visual Studio 6.0
also Funktionen kann ich z.B. so exportieren:
extern "C" __declspec(dllexport) void foo(void);aber wie mach ich das mit ner Klasse?
so?
extern "C" __declspec(dllexport) class Bar;???
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Versuch's mal ohne das "extern "C"" davor.
-
stiller Zuschauer schrieb:
aber wie mach ich das mit ner Klasse?
so?
extern "C" __declspec(dllexport) class Bar;Lass einfach das extern "C" weg...
class __declspec(dllexport) Bar { };
Um es einfacher zu machen definiert man i.d.R. im DLL-Projekt ein define der Art (in den Projekteinstellungen)
DLLPROJECT_EXPORTS
und im Header hat man ganz oben stehen:
#ifdef DLLPROJECT_EXPORTS #define DLLPROJECT_API __declspec(dllexport) #else #define DLLPROJECT_API __declspec(dllimport) #endif
Und dann kannst Du nämlich Dein H-File so schreiben:
class DLLPROJECT_API Bar { };
und kannst es direkt in einem anderen projekt verwenden ohne was anzugeben...
-
jo danke,
das hilft mir weiter.thx