Gast
#436900
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