mikrocontroller.net

Forum: Compiler & IDEs Warnung nach Neuinstallation


Autor: wolf4124 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: R. Freitag (rfr)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der Prototyp fehlt.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.