Exportieren von Klassen in eine Dll
-
Hallo,
ich versuche meine Klasse in eine DLL zu exportieren, aber ich bekomme immer folgenden Fehler:error C2375: 'Funktion' : Neudefinition; unterschiedliche Bindung
: Siehe Deklaration von 'Funktion'ausserdem bekomme ich folgende Warnung 5mal:
warning C4091: '__declspec(dllexport ) ' : Ignoriert auf der linken Seite von 'class Test', wenn keine Variable deklariert wurde
hier mein Code:
///lib.h
#define EXPORT __declspec(dllexport)
EXPORT class Test
{
public:
void Funktion(void);
};///lib.cpp
#include <windows.h>
#include "../Header/Lib.h"int WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID Reserved)
{
return TRUE;
}EXPORT void Test::Funktion(void)
{
return;
}Kann mir jemand einen Tipp geben, warum der Code nicht funktioniert ??
Vielen Dank im Voraus
Simon
-
es muss entweder heißen
class DLLEXPORT Test
{//...
};oder
class Test
{
DLLEXPORT int Funktion();
};
-
standard c++ kennt keine dlls, ich verschiebe den thread mal in msvc forum
-
Auch eine einfache Methode zum exportieren von Klassen in eine DLL bei Verwendung von MFC ist eine MFC-Erweiterungs-DLL zu erstellen und dann einfach die Klasse dort einzufügen. Musst nur noch ein AFX_EXT_CLASS vor die Klasse schreiben.
