LNK2001 und LNK2019 bei Klasse in DLL
-
Hallo, ich will eine Klasse in einer DLL kapseln und dann einfach in einer anderen Anwendung ohne lib einbinden und verwenden, aber dabei bekomme ich obige Linker Fehler:
Code Header der DLL:class __declspec(dllexport) dllclass { public: static int fkt1(); int fkt2(); };Code CPP der DLL:
#include "stdafx.h" #ifdef _MANAGED #pragma managed(push, off) #endif BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } int dllclass::fkt1() { return 3; } int dllclass::fkt2() { return 5; } #ifdef _MANAGED #pragma managed(pop) #endifCode der Anwendung in der ich Klasse inkl. der statischen Memberfunktion nutzen will:
class __declspec(dllimport) dllclass { public: static int fkt1(); int fkt2(); }; #define DLL_DIRECTORY L".\\test.dll" int main (void) { HMODULE x = LoadLibrary(DLL_DIRECTORY); dllclass instanz; instanz.fkt1(); return 0; };Kann mir bitte jemand helfen. Ich versteh die beiden Linker Fehler nicht.
LNK2001 bzgl. fkt1() und LNK2019 bzgl. fkt2().Was ist falsch, ist doch alles nach "Vorschrift"?
Danke.C**C
-
WO ist den die Fehlermeldung?
WAS machst Du mit "_MANAGED"?
WARUM machst Du kein native Win32 Projekt?
Du muss sicherstellen, dass die Header genau gleich sind!!! Alsa, falls Du /clr aktiviert hast, musst Du das managed-off auch im Header machen...