[C] VS05 Linker Error LNK2005

Viper2009

Erfahrenes Mitglied
Hallo habe schon im Forum nach diesem Fehler gesucht, war auch fündig. Problem mit extern gehen es auch nicht.

Habe Mehrere .c Dateien und eine Header Datei, die als Packets dient, in der Header Datei steht vollgendes drin.

C:
#ifndef Packets_h
#define Packets_h
char Start[]={0x00, 0x00......};
char Exit[]={0x00, 0x00......};
......
#endif

Auszug von einer .c Datei
C:
....
Network_Send (Start, sizeof(Start), Client);

Hoffe das ihr mir weiter helfen könnt

Mit freundlichen Grüßen Viper
 
Ohh Hi entschuldige. Ich bekomme den fehler
"Fehler 1 error LNK2005: _Start ist bereits in .....obj definiert. RequestFailed.obj"
 
Hi.

Man sollte in einer Header Datei grundsätzlich keine Variablen definieren.
C:
#ifndef Packets_h
#define Packets_h
extern char Start[];
extern char Exit[];
......
#endif

C:
/* Packets.c */

#include "Packats.h"

char Start[] = {0x00, 0x00......};
...
Gruß
 
Nun ich habe immer noch mein Problem und zwar wie kann ich ihn den nun die Größe übermitteln. Da in Packet.h keine größe definiert ist sondern in Packet.C bekomme ich immer bei sizeof 0. :(

MFG Viper
 
Zurück