Spacemojo
Aktives Mitglied
Thread Starter
- Dabei seit
- 16.05.2004
- Beiträge
- 624
- Reaktionspunkte
- 21
Hi!
Ich kenn mich gar nicht mehr aus, bitte helfen!
Ich habe eine C++ Datei A.cpp, in die wird ein Header X.h eingebunden mit:
extern "C"
{
#include "x.h"
}
Wenn ich kompiliere, passt alles.
Jetzt habe ich noch eine Datei B.cpp, in die wird genauso X.h eingebunden.
Jetzt meldet der Compiler Fehler, nämlich multiple Definitionen von Symbolen. Anscheinend wird X.h mehrmals eingebunden.
Aber in X.h ist der Standard-Compiler-Trick drin:
#ifndef X_H
#define X_H
... header ...
#endif
Warum geht das nicht?
Der verwirrte Tobi
Ich kenn mich gar nicht mehr aus, bitte helfen!
Ich habe eine C++ Datei A.cpp, in die wird ein Header X.h eingebunden mit:
extern "C"
{
#include "x.h"
}
Wenn ich kompiliere, passt alles.
Jetzt habe ich noch eine Datei B.cpp, in die wird genauso X.h eingebunden.
Jetzt meldet der Compiler Fehler, nämlich multiple Definitionen von Symbolen. Anscheinend wird X.h mehrmals eingebunden.
Aber in X.h ist der Standard-Compiler-Trick drin:
#ifndef X_H
#define X_H
... header ...
#endif
Warum geht das nicht?
Der verwirrte Tobi
Zuletzt bearbeitet: