Forum: Compiler & IDEs Warnung nach Neuinstallation


von wolf4124 (Gast)


Lesenswert?

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

von Simon K. (simon) Benutzerseite


Lesenswert?

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 ;)

von R. F. (rfr)


Lesenswert?

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

von Simon K. (simon) Benutzerseite


Lesenswert?

Ja, der Prototyp fehlt.

von Rolf Magnus (Gast)


Lesenswert?

> 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
Noch kein Account? Hier anmelden.