Ich habe eine Header-Datei x.h, die von mehreren * .c Quelldateien enthalten ist. In dieser Headerdatei sind einige Strukturvariablen definiert.Warum verhindern meine Compile-Wachen keine Mehrfachdefinitionseinschlüsse?
Ich habe mehrere Inklusion Prävention Wache am Anfang der Header-Datei setzen, wie:
#ifndef X_H
#define X_H
...
..
//header file declarations and definitons.
#endif//X_H
Auf Gebäude erhalte ich Fehler Linker an mehreren Definitionen zusammen. Ich verstehe das Problem.
Wird nicht ein Mehrfaches Wache Inklusion Prävention an der Spitze der Header-Datei, wie ich, mehrere Einschlüsse der x.h Header-Datei verhindern und dadurch mehrere Definitionen der Variablen zu vermeiden, gibt es in x.h?
#pragma
einmal funktioniert nicht auf diesem bestimmten Compiler, also was ist die Lösung? Jemand hatte gepostet this Antwort auf eine ähnliche Frage. Es scheint nicht für mich zu funktionieren. Wie funktioniert diese Lösung?
@Stephen: Wenn Sie bereits den Fragetitel bearbeiten, sehen Sie sich bitte auch den Körper an (und vielleicht Tags, wenn auch nicht hier). Dies vermeidet doppelte Bearbeitung (und Stoßen). –
@Paulo Ich habe es verpasst, aber ich habe versucht, darauf zu achten, danke für die Erinnerung! – Stephen