Mehrfach definierte Symbole
-
Hallo,
ich hab mir ein MFC PRogramm geschrieben wo ich eine eigens geschriebene Includedatei verwende. Das Programm besteht aus mehreren Dateien, bau ich die include datei in mehrere Dateien ein, gibt es immer diesen Fehler"fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden"
auch wen ich mit
#ifndef _A_
#define _A_
#include "irgendwas.h"
#endif
mache kommt dieser Fehler. Warum?Einige der Dateien sind untereinander mit include verknüpft.
-
Include Guards schützen nur vor Mehrfachdefinition innerhalb einer ÜE, nicht aber bei mehreren ÜE. Logisch, mit jeder ÜE beginnt ja ein neuer Übersetzungsvorgang.
Lösung: definiere deine Instanzen in einer ÜE und mach sie mittels extern Deklaration für andere ÜE zugänglich.
-
nochmal langsam bitte
-
MFC schrieb:
nochmal langsam bitte
Die Lesegeschwindigkeit hast du doch selbst in der Hand. Wenn du konkrete Probleme hast, die Antwort zu begreifen, solltest du genauer sagen, wo die liegen (z.B.: Was ist "ÜE"?).
Die Suchfunktion könnte möglicherweise zu "mehrfach definierte Symbole" auch einiges ausspucken.
Einfach nur zu sagen, dass man die Antwort nicht geschnallt hat, und eine Wiederholung zu fordern, ist IMHO schon ziemlich dreist.