Linker Fehler
-
Hallo,
ich hab folgendes Problem. Ich nutze in meinem Projekt 2 c++ Dateien und 3 Header Dateien. In der datei main.h includiere ich die <windows.h>. Das selbe will ich jetzt auch in der Field.h machen weil ich dort auch eine Variable vom typ HWND definieren will, allerdings bekomme ich dann folgenden Fehler:
Field.obj : error LNK2005: "struct HWND__ * Test" (?Test@@3PAUHWND__@@A) bereits in main.obj definiert
Debug/FieldTest.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefundenDer Fehler tritt nur auf wenn ich HWND Test schreibe, nicht beim <windows.h> einbinden selbst. Allerdings habe ich defintiv nirgendes in der main.h bereits eine variable mit dem Namen Test definiert.
Kann mir jemand sagen woran das liegt? Bin inzwischen recht verzweifelt weil ich den Fehler einfach nicht verstehe.
-
steht dein HWND Test in einer HEaderdatei, die sowohl in Field als auch in Main eingebunden wird?
-
Ja die wird in beide eingebunden.
-
Tja, dann hast dus ja (indirekt) doch in beide geschrieben
versuchs mal mit include-guards in deiner headerdatei.
-
Wie meinst du das?
Die Field.h Datei wurde vom Klassenassisten erstellt, also wurde auch ein Include Guard eingebaut. Von daher kanns doch eigentlich nicht daran liegen.