preprozessor
-
hallo
hab mal wieder ein problem!
möchte eine headerdatei in 2 dateien einfügen, meine headerdatei sieht folgendermasen aus:
#ifndef test
#define test
//definitionen#endif
bekomme aber die meldung, das definitionen berits definiert worden sind?
Danke
-
Hast du die Header zufälligerweise in der gleichen c-Datei
2x includiert?
-
nein leider nicht
-
Vielleicht sind Makros mit dem selben Namen in anderen Dateien bereits definiert.
-
Kannst du mal die exakte (copy-paste) Fehlermeldung posten?
-
hier sind meine 3 fehlermeldungen
material error LNK2005: "struct form_header FORM_HEADER" (?FORM_HEADER@@3Uform_header@@A) already defined in shadow volumes.obj
material error LNK2005: "struct dat_header DAT_HEADER" (?DAT_HEADER@@3Udat_header@@A) already defined in shadow volumes.obj
material fatal error LNK1169: one or more multiply defined symbols found
-
scheint aber ein Linker-Fehler zu sein... kein Compiler-Fehler...
Hast du in der Header nach deinem Typ (struct) gleich eine Variabel
definiert ?
-
funktioniert!!!
habe in meiner header datei struktur umdefiniert
alt:struct dat_header{
char ident[2];
long length;
long reserviert;
long beg_pixeldat;
}DAT_HEADER;neu:
struct dat_header{
char ident[2];
long length;
long reserviert;
long beg_pixeldat;
};aber warum ???
-
http://www.cs.princeton.edu/~lworthin/126/precepts/structs.html
Du hast zwei gleichnamige (globale) Variabeln definiert...