Forum: Compiler & IDEs Fehler aus dem Nichts: Unknown type name 'int8_t'


von Flo M. (pseudonym)


Lesenswert?

Hallo zusammen,

Ich lese schon seit einiger Zeit immer mal wieder im Wiki oder im Forum 
und hab mittlerweile das ein oder andere Projektchen mit Controllern 
laufen.

Erstmal danke für diese fantastische Seite und all ihren Inhalt!

Aber jetzt zum Problem:
Ich hab hier ein kleines POV Led-Array mit Atmega8 zusammengeschustert. 
Bis jetzt lief auch alles ganz gut und ich konnte den Code über die Zeit 
immer weiter verfeinern.
Nun wollte ich gerade mal ein bisschen weiter machen und bekomme nun bei 
dem unveränderten Programm, welches vor 2 Wochen noch problemlos 
kompiliert hat, 2 Fehlermeldungen:
1
Error  2  unknown type name 'int8_t'  c:\program files\atmel\atmel toolchain\avr8 gcc\native\3.4.2.1002\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h  159  1  pov

und das gleiche nochmal in Zeile 213.

In der entsprechenden Zeile der stdint.h steh:
1
typedef int8_t   int_least8_t;

mit int16_t z.b. hat er keine Probleme. Im eigentlichen Code verwende 
ich aber eh keins von beiden.

Gefunden habe ich bis jetzt nur sehr vage Sachen wo es anscheinend an 
der Reihenvolge der eingebunden #includes lag. Eine Ändern dieser hat 
bis jetzt nicht zum Erfolg geführt.
1
#include <stdint.h>
2
#include <avr/io.h>
3
#include <stdlib.h>
4
#include <avr/interrupt.h>
5
#include <util/delay.h>
6
#include <avr/pgmspace.h>

Unabhängig davon ist der Fehler zuvor beim selben Code nicht 
aufgetreten.

Kann sich da jemand einen Reim draus machen?

Grüße,
Flo

von Sascha (Gast)


Lesenswert?

Hallo,
dann schmeiss die Typedef definition doch raus.
typedef int8_t   int_least8_t;
dann ist halt int_least8_t als Typedef nicht definiert.

soll vermutlich signed char sein.

Gruß Sascha

von Peter D. (peda)


Lesenswert?

Flo M. schrieb:
> #include <stdint.h>

Sicher, daß das die erste Zeile in deinem C-File ist?

Manchmal können auch die Standardincludes durch irgendwelchen Schrunz 
davor außer Tritt geraten.

von Oliver S. (oliverso)


Lesenswert?

Na ja, in den Standard-Headern rumändern sollte man wirklich erst, wenn 
das Problem komplett verstanden wurde.

Wurde denn zwischenzeitlich das Studio zufällig ge-updated?

Oliver

von Rolf M. (rmagnus)


Lesenswert?

1
Error  2  unknown type name 'int8_t'  c:\program files\atmel\atmel toolchain\avr8 gcc\native\3.4.2.1002\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h  159  1  pov
Was für ein Compiler ist das denn? Das sieht nicht wie eine typische 
GCC-Fehlermeldung aus. Oder kommt das so komisch aus dieser Atmel-IDE 
raus?

int8_t sollte eigentlich in der stdint.h selbst definiert sein. Hast du 
vielleicht mal diesen Header geöffnet und versehentlich eine Zeile 
gelöscht?

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.