Fehler beim einbinden von eignen Header
-
Ich habe folgendes Problem:
Ich hab mir ein struct in einen Header gebaut und will nun einfach die Header-Datei in meine cpp-Dateien einbinden. Bekomme dabei aber folgende Fehlermeldung:
newFenster.obj : error LNK2005: "struct UVar transfer" (?transfer@@3UUVar@@A) already defined in fensterDlg.obj
Debug/fenster.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.Hat jemand eine Ahnung, was ich falsch mache?
-
volture schrieb:
Hat jemand eine Ahnung, was ich falsch mache?
Du definierst Variablen in einer Headerdatei. So was tut man nicht

-
... heißt in anderen Worten. Im Header fehlt evtl. ein extern und irgendwo in eone CPP Datei muss die Structure dann noch definiert werden.
-
Oder es fehlen die Header Guards:
*.h
#pragma once struct A {};Oder:
*.h#ifndef MY_HEADER #define MY_HEADER struct A {}; #endifSimon
-
simon.gysi schrieb:
Oder es fehlen die Header Guards:
Fehlende Include-Guards erzeugen Compilerfehler, keine Linkerfehler.
-
Martin Richter schrieb:
... heißt in anderen Worten. Im Header fehlt evtl. ein extern und irgendwo in eone CPP Datei muss die Structure dann noch definiert werden.
Das war dann wohl der Fehler. In der Header-Datei hat ein extern gefehlt.
Danke an alle für Eure Hilfe...Volture
-
MFK schrieb:
simon.gysi schrieb:
Oder es fehlen die Header Guards:
Fehlende Include-Guards erzeugen Compilerfehler, keine Linkerfehler.
Unter Borland erzeugt das nur Linker-Warnungen (, die man jedoch beachten sollte) :D, aber wir sind ja hier im MFC-Forum, aber das nur als Hinweis