multiple definition of '...'

Gast #436900
Lesenswert?

Hi ich mache meine ersten C Schritte und brauche eure Hilfe.

Ich habe Probleme, mein C Programm bestehend aus 2 Sourcefiles und 3 
Headerfiles zu linken. Compiliert wird alles und es werden die beiden 
Objektdateien erstellt aber das elf file nicht! Die Fehlermeldung im 
A-Studio Buildwindow ist:

Build started 7.11.2006 at 22:39:09
avr-gcc.exe  -mmcu=atmega16 -Wall -gdwarf-2  -O0 -fsigned-char -MD -MP 
-MT Machine.o -MF dep/Machine.o.d  -c  ../Machine.c
avr-gcc.exe -mmcu=atmega16 -minit-stack=0x400 Machine.o SD_Card.o     -o 
Machine.elf
SD_Card.o: In function `init_sd_card':
../SD_Card.c:42: multiple definition of `sd_wpointer'
Machine.o:../Machine.c:113: first defined here
SD_Card.o: In function `init_sd_card':
../SD_Card.c:42: multiple definition of `sd_rpointer'
Machine.o:../Machine.c:113: first defined here
SD_Card.o: In function `init_sd_card':
../SD_Card.c:42: multiple definition of `argument'
Machine.o:../Machine.c:113: first defined here
make: *** [Machine.elf] Error 1
Build succeeded with 0 Warnings...

Das passiert, weil ich mehrfach das Headerfile mit den jeweiligen 
Definitionen einbinde. Allerdings steht bei jedem Headerfile oben:

#ifndef sd_card_h
#define sd_card_h

....

und unten

#endif  //sd_card_h

Es sollte doch damit nur einmal eingebunden werden. Man macht das doch 
eingentlich so. Oder mache ich prinzipiell was falsch? Vielen Dank für 
sachdienliche Hinweise

Grüsse
Felix

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren