Hallo ich habe meinen Rechner neu aufgesetzt. GCC die gleiche Version installiert. Danach die alten Projekte kopiert. Es hat sich nur der Pfad der Installation geändert. Nun bekomme ich bei der Comilierung einen Haufen Fehlermeldungen. Kann mir jemand weiterhelfen? Compiling: main.c avr-gcc -c -mmcu=atmega128 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 -MD -MP -MF .dep/main.o.d main.c -o main.o In file included from main.c:20: PCF8593.h: In function `Get_Time': PCF8593.h:151: warning: implicit declaration of function `sprintf' main.c: At top level: main.c:276: warning: initialization from incompatible pointer type main.c:277: warning: initialization from incompatible pointer type main.c:278: warning: initialization from incompatible pointer type main.c:279: warning: initialization from incompatible pointer type main.c:280: warning: initialization from incompatible pointer type main.c:299: warning: initialization from incompatible pointer type main.c:299: warning: initialization from incompatible pointer type main.c:300: warning: initialization from incompatible pointer type main.c:300: warning: initialization from incompatible pointer type main.c:301: warning: initialization from incompatible pointer type main.c:301: warning: initialization from incompatible pointer type main.c:302: warning: initialization from incompatible pointer type main.c:302: warning: initialization from incompatible pointer type main.c:303: warning: initialization from incompatible pointer type main.c:303: warning: initialization from incompatible pointer type main.c:304: warning: initialization from incompatible pointer type main.c:304: warning: initialization from incompatible pointer type main.c:305: warning: initialization from incompatible pointer type main.c:305: warning: initialization from incompatible pointer type main.c:306: warning: initialization from incompatible pointer type main.c:306: warning: initialization from incompatible pointer type main.c:307: warning: initialization from incompatible pointer type main.c:307: warning: initialization from incompatible pointer type main.c:308: warning: initialization from incompatible pointer type main.c:308: warning: initialization from incompatible pointer type main.c:325: warning: initialization from incompatible pointer type main.c:326: warning: initialization from incompatible pointer type main.c:327: warning: initialization from incompatible pointer type main.c:328: warning: initialization from incompatible pointer type main.c:329: warning: initialization from incompatible pointer type main.c:330: warning: initialization from incompatible pointer type main.c:379: warning: initialization from incompatible pointer type main.c:379: warning: initialization discards qualifiers from pointer target type main.c:380: warning: initialization from incompatible pointer type main.c:380: warning: initialization discards qualifiers from pointer target type main.c:381: warning: initialization from incompatible pointer type main.c:381: warning: initialization discards qualifiers from pointer target type main.c:382: warning: initialization from incompatible pointer type main.c:382: warning: initialization discards qualifiers from pointer target type main.c:383: warning: initialization from incompatible pointer type main.c:383: warning: initialization discards qualifiers from pointer target type main.c:384: warning: initialization from incompatible pointer type main.c:384: warning: initialization discards qualifiers from pointer target type main.c:385: warning: initialization from incompatible pointer type main.c:385: warning: initialization discards qualifiers from pointer target type main.c:386: warning: initialization from incompatible pointer type main.c:386: warning: initialization discards qualifiers from pointer target type main.c:387: warning: initialization from incompatible pointer type main.c:387: warning: initialization discards qualifiers from pointer target type main.c:388: warning: initialization discards qualifiers from pointer target type main.c:388: warning: initialization from incompatible pointer type main.c:389: warning: initialization from incompatible pointer type main.c:389: warning: initialization discards qualifiers from pointer target type main.c:425: warning: initialization makes pointer from integer without a cast main.c:425: warning: initialization from incompatible pointer type main.c:426: warning: initialization makes pointer from integer without a cast main.c:426: warning: initialization from incompatible pointer type main.c:427: warning: initialization makes pointer from integer without a cast main.c:427: warning: initialization from incompatible pointer type main.c:428: warning: initialization makes pointer from integer without a cast main.c:428: warning: initialization from incompatible pointer type main.c:429: warning: initialization makes pointer from integer without a cast main.c:429: warning: initialization from incompatible pointer type main.c:430: warning: initialization makes pointer from integer without a cast main.c:430: warning: initialization from incompatible pointer type main.c:477: warning: initialization from incompatible pointer type main.c:477: warning: initialization discards qualifiers from pointer target type main.c:477: warning: excess elements in struct initializer main.c:477: warning: (near initialization for `TAB_UNTERDISPLAY[0]') main.c:478: warning: initialization from incompatible pointer type main.c:478: warning: initialization discards qualifiers from pointer target type main.c:478: warning: excess elements in struct initializer main.c:478: warning: (near initialization for `TAB_UNTERDISPLAY[1]') main.c:479: warning: initialization from incompatible pointer type main.c:479: warning: initialization discards qualifiers from pointer target type main.c:479: warning: excess elements in struct initializer main.c:479: warning: (near initialization for `TAB_UNTERDISPLAY[2]') main.c:480: warning: initialization from incompatible pointer type main.c:480: warning: initialization discards qualifiers from pointer target type main.c:480: warning: excess elements in struct initializer main.c:480: warning: (near initialization for `TAB_UNTERDISPLAY[3]') main.c:481: warning: initialization from incompatible pointer type main.c:481: warning: initialization discards qualifiers from pointer target type main.c:481: warning: excess elements in struct initializer main.c:481: warning: (near initialization for `TAB_UNTERDISPLAY[4]') main.c:482: warning: initialization from incompatible pointer type main.c:482: warning: initialization discards qualifiers from pointer target type main.c:482: warning: excess elements in struct initializer main.c:482: warning: (near initialization for `TAB_UNTERDISPLAY[5]') main.c:483: warning: initialization from incompatible pointer type main.c:483: warning: initialization discards qualifiers from pointer target type main.c:483: warning: excess elements in struct initializer main.c:483: warning: (near initialization for `TAB_UNTERDISPLAY[6]') main.c:484: warning: initialization from incompatible pointer type main.c:484: warning: initialization discards qualifiers from pointer target type main.c:484: warning: excess elements in struct initializer main.c:484: warning: (near initialization for `TAB_UNTERDISPLAY[7]') main.c:485: warning: initialization from incompatible pointer type main.c:485: warning: initialization discards qualifiers from pointer target type main.c:485: warning: excess elements in struct initializer main.c:485: warning: (near initialization for `TAB_UNTERDISPLAY[8]') main.c:486: warning: initialization from incompatible pointer type main.c:486: warning: initialization discards qualifiers from pointer target type main.c:486: warning: excess elements in struct initializer main.c:486: warning: (near initialization for `TAB_UNTERDISPLAY[9]') main.c:487: warning: excess elements in struct initializer main.c:487: warning: (near initialization for `TAB_UNTERDISPLAY[10]') main.c:488: warning: excess elements in struct initializer main.c:488: warning: (near initialization for `TAB_UNTERDISPLAY[11]') main.c:489: warning: excess elements in struct initializer main.c:489: warning: (near initialization for `TAB_UNTERDISPLAY[12]') main.c:490: warning: excess elements in struct initializer main.c:490: warning: (near initialization for `TAB_UNTERDISPLAY[13]') main.c:491: warning: excess elements in struct initializer main.c:491: warning: (near initialization for `TAB_UNTERDISPLAY[14]') main.c:492: warning: excess elements in struct initializer main.c:492: warning: (near initialization for `TAB_UNTERDISPLAY[15]') main.c:493: warning: excess elements in struct initializer main.c:493: warning: (near initialization for `TAB_UNTERDISPLAY[16]') main.c:494: warning: excess elements in struct initializer main.c:494: warning: (near initialization for `TAB_UNTERDISPLAY[17]') main.c:495: warning: excess elements in struct initializer main.c:495: warning: (near initialization for `TAB_UNTERDISPLAY[18]') main.c:496: warning: excess elements in struct initializer main.c:496: warning: (near initialization for `TAB_UNTERDISPLAY[19]') main.c:497: warning: initialization from incompatible pointer type main.c:497: warning: initialization from incompatible pointer type main.c:497: warning: excess elements in struct initializer main.c:497: warning: (near initialization for `TAB_UNTERDISPLAY[20]') main.c:497: warning: excess elements in array initializer main.c:497: warning: (near initialization for `TAB_UNTERDISPLAY') main.c: In function `init_avr': main.c:591: warning: passing arg 1 of `eeprom_read_byte' from incompatible pointer type main.c:592: warning: passing arg 1 of `eeprom_write_byte' from incompatible pointer type main.c: In function `Display_ausgabe': main.c:1439: warning: passing arg 1 of `eeprom_read_byte' from incompatible pointer type main.c:1442: warning: passing arg 1 of `mcp2515_read_register' makes integer from pointer without a cast main.c:1408: warning: unused variable `IntTemp' main.c: In function `Taster_auswertung': main.c:1623: warning: passing arg 1 of `eeprom_read_byte' from incompatible pointer type Linking: main.elf avr-gcc -mmcu=atmega128 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std=gnu99 -MD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-Map=main.map,--cref -lm Creating load file for Flash: main.hex avr-objcopy -O ihex -R .eeprom main.elf main.hex Creating load file for EEPROM: main.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 -O ihex main.elf main.eep Creating Extended Listing: main.lss avr-objdump -h -S main.elf > main.lss Creating Symbol Table: main.sym avr-nm -n main.elf > main.sym Size after: main.elf : section size addr .data 3276 8388864 .text 15414 0 .bss 660 8392140 .noinit 0 8392800 .eeprom 11 8454144 .debug_aranges 20 0 .debug_pubnames 3917 0 .debug_info 9507 0 .debug_abbrev 641 0 .debug_line 6374 0 .debug_str 4015 0 .debug_ranges 24 15414 Total 43859 AVR Memory Usage: ----------------- Device: atmega128 Program: 18690 bytes (14.3% Full) (.text + .data + .bootloader) Data: 3936 bytes (96.1% Full) (.data + .bss + .noinit) -------- end -------- > Process Exit Code: 0
Wie soll man das wissen ohne die .c Dateien und Makefile? Vermutlich einfach nur unsauber programmiert und das rächt sich bei der neuen Version jetzt. Das sind aber auch nur Warnungen alles. Aber trotzdem: Mit 96% Auslastung des RAMs nur durch statische/globale Variablen ist es mutig, das Programm irgendwo zu benutzen ;)
In file included from main.c:20: PCF8593.h: In function `Get_Time': PCF8593.h:151: warning: implicit declaration of function `sprintf' heisst doch, dass der Compiler sprintf nicht gefunden hat und deswegen irrtümlich einee implizite Deklaration annimmt. Oder? Gruss Robert
> main.c:276: warning: initialization from incompatible pointer type Du hast irgendwas initialisiert, aber der Initialisierer ist vom falschen Typ. > main.c:379: warning: initialization discards qualifiers from pointer > target type Du hast irgendwo ein const oder volatile bei einem Zeiger vergessen. > main.c:425: warning: initialization makes pointer from integer without a > cast Du hast versucht, einen Integer-Wert in einen Zeiger-Wert zu konvertieren. Wenn du das tatsächlich willst, mußt du dem Compiler das mit einem Cast signalisieren. > main.c:477: warning: excess elements in struct initializer > main.c:477: warning: (near initialization for `TAB_UNTERDISPLAY[0]') Du hast irgendwo in der Nähe der Initialisierung von TAB_UNTERDISPLAY[0] versucht, Elemente einer Struktur zu initialisieren, die sie gar nicht hat. > main.c: In function `init_avr': > main.c:591: warning: passing arg 1 of `eeprom_read_byte' from > incompatible pointer type Du übergibst eeprom_read_byte nicht den Zeigertyp, den es erwartet. > main.c:1442: warning: passing arg 1 of `mcp2515_read_register' makes > integer from pointer without a cast Hier versuchst du, einen Zeiger-Wert als Integer-Wert zu interpretieren. Wenn du das tatsächlich willst, mußt du das mit einem Cast dem Compiler mitteilen. > main.c:1408: warning: unused variable `IntTemp' Du hast die Variable IntTemp definiert, aber nirgends verwendet. Die restlichen Warnungen sind alle von einer der oben beschriebenen Arten. Wodurch die genau hervorgerufen werden, kann man mangels Quellcode nicht sagen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.