I definiert eine spezielle Datei: config.h
Multiple Definition ... Linkerfehler
Mein Projekt hat auch Dateien:
t.c, t.h
pp.c, pp.h
b.c b.h
l.cpp
und #includes:
in tc:
#include "t.h"
#include "b.h"
#include "pp.h"
#include "config.h"
in bc:
#include "b.h"
#include "pp.h"
in pp.c:
#include "pp.h"
#include "config.h"
in l.cpp:
#include "pp.h"
#include "t.h"
#include "config.h"
gibt es keine Richtlinien sind in meiner *.h
Dateien nur in *.c
Dateien . I definiert dies in config.h:
const char *names[i] =
{
"brian", "stefan", "steve"
};
und brauchen dieses Array in l.cpp, tc, pp.c aber ich bin diesen Fehler:
pp.o:(.data+0x0): multiple definition of `names'
l.o:(.data+0x0): first defined here
t.o:(.data+0x0): multiple definition of `names'
l.o:(.data+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [link] Error 1
I enthalten haben Wachen in jeder *.h
Datei Ich benutze in meinem Projekt. Irgendeine Hilfe, um das zu lösen?
möglich duplicate von [mehrere Definition Linker-Fehler nach dem Hinzufügen einer Funktion zu einer zuvor verknüpften Datei] (http://StackOverflow.com/Questions/3136616/Multiple-Definition-Linker-Error-after-Adding-a- Funktion-zu-einem-Vorgänger-Verknüpfung) –