Variablen bereits definiert, error LNK2005 ist die Folge.
-
Hallo,
in meinem Projekt gibt es eine globals.h, dort stehen alle globalen Variablen drinne.
Ich versuche den Aufbau zu beschreiben:
globals.h
(inhalt einfache Dinge wie int beispiel;)A.h (beinhaltet globals.h und B.h)
B.h (beinhaltet globals.h)
main.cpp (beinhaltet A.h)Natürlich sind alle Header so aufgebaut:
#ifndef header_h
#define header_h#endif
Jetzt kommen die Fehlermeldungen
**
main.obj : error LNK2005: "struct HWND__ * hwnd" (?hwnd@@3PAUHWND__@@A) bereits in A.obj definiertmain.obj : error LNK2005: "struct tagWNDCLASSEXA winclass" (?winclass@@3UtagWNDCLASSEXA@@A) bereits in A.obj definiert
main.obj : error LNK2005: "struct _DIMOUSESTATE mousestate" (?mousestate@@3U_DIMOUSESTATE@@A) bereits in A.obj definiert
main.obj : error LNK2005: "unsigned char * keystate" (?keystate@@3PAEA) bereits in A.obj definiert
B.obj : error LNK2005: "struct HWND__ * hwnd" (?hwnd@@3PAUHWND__@@A) bereits in A.obj definiert
B.obj : error LNK2005: "struct tagWNDCLASSEXA winclass" (?winclass@@3UtagWNDCLASSEXA@@A) bereits in A.obj definiert
B.obj : error LNK2005: "struct _DIMOUSESTATE mousestate" (?mousestate@@3U_DIMOUSESTATE@@A) bereits in A.obj definiert
B.obj : error LNK2005: "unsigned char * keystate" (?keystate@@3PAEA) bereits in A.obj definiert
**Wie wird sowas gelöst
?
-
Globale Variablen müssen in einer cpp-Datei definiert und in Header deklariert werden, z.B.:
//cpp int a; //h extern int a;
-
Es scheint zu gehen, vielen dank!