Richtiges Includen
-
Hey,
ich bekomme meist den Fehler "...@@bla@@A) ist bereits in main.obj definiert.",
wenn ich Funktionen/Strukturen/vars etc. in Header Dateien von includes deklariere...
Wie include ich richtige?
Mein System bis jetzt :-> andere.h <- andere.cpp main.cpp -> main.h -> andere2.h <- andere2.cpp -> andere2.h <- andere3.cppIch möchte das main.cpp auf alle anderen Funktionen etc der Includes zugreifen kann.
Das funktioniert an sich wär da nicht ab und zu dieser Fehler..
Ich habe in anderen Source Codes gesehen, dass bei den Includes mit #ifdefine,#endif gearbeitet wird aber für was ist das genau?
Bzw wie included man richtig?
Wäre echt nett, wenn mich da einer Aufklären könnte!
-
Ich habe in anderen Source Codes gesehen, dass bei den Includes mit #ifdefine,#endif gearbeitet wird aber für was ist das genau?
-
du musst ganz einfach am beginn jeder header-datei
#pragma onceschreiben.
-
#pragma once gehört aber nicht zum standard, ist also nicht in allen compilern vorhanden. außerdem kann #pragma once probleme machen, wenn man sowas hat:
foo.h:
#pragma once class foo{ ... };myotherfooimpl.h:
#pragma once class foo{ ... };
-
[ schmaler ] [ breiter ] schrieb:
Ich habe in anderen Source Codes gesehen, dass bei den Includes mit #ifdefine,#endif gearbeitet wird aber für was ist das genau?
Danke ich werds mir mal anschauen
thordk schrieb:
#pragma once gehört aber nicht zum standard, ist also nicht in allen compilern vorhanden. außerdem kann #pragma once probleme machen, wenn man sowas hat:
foo.h:
#pragma once class foo{ ... };myotherfooimpl.h:
#pragma once class foo{ ... };#pragme once hab ich eben bis jetzt immer benutzt aber dann bei Klassendeklarationen und vars gabs dann immer diesen Fehler