hallo zusammen! habe gerade eben die delay.h von WinAVR in mein projekt eingefügt und bekomme nun folgende fehlermeldungen: In file included from c:/programme/winavr/lib/gcc/../../avr/include/util/delay.h:39, c:/programme/winavr/lib/gcc/../../avr/include/util/delay_basic.h:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' c:/programme/winavr/lib/gcc/../../avr/include/util/delay_basic.h:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' In file included from ../files/timer.c:32: c:/programme/winavr/lib/gcc/../../avr/include/util/delay.h:79: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' c:/programme/winavr/lib/gcc/../../avr/include/util/delay.h:80: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' woran kann das liegen? habe nichts an der delay.h oder delay_basic.h verändert! verwende AVRStudio4 mit WinAVR. danke für euere antworten! gruß mark
> In file included from ../files/timer.c:32:
Zeig mal, was in deinem "timer.c" File in den ersten 31 Zeilen steht.
Hast du da evtl #defines drinnen, die mit den delay-headern kollidieren?
danke für deine antwort. in den ersten 28 zeilen steht nur der kopf mit angaben über die funktion. dann steht folgendes: Zeile 28 #include <avr/io.h> Zeile 29 #include <stdint.h> #include <stdbool.h> #include <avr/interrupt.h> Zeile 32 #include <util/delay.h>
Hast Du das Wort 'inline' im eigenen Programm irgendwo verwendet?
es scheint an meinem makefile zu liegen. habe ein eigenes "geschrieben" bzw. aus anderen zusammengestellt. wenn ich das "normale" vorgegebene makefile nehme kommt kein fehler... kann das daran liegen, dass in delay.h inline assembler verwendet wird? muß mann das dann im makefile mit angeben?
Nein, du hast irgendwas verbogen. Poste doch mal die Compiler- Kommandozeile, die das make mit deinem Makefile aufruft.
Hallo Jörg! Danke für Deine Antwort! Wo genau finde ich die Compiler - Kommandozeile die Du benötigst? Gruß Mark
Sie steht oberhalb der Fehlermeldungen, die Du als erstes gepostet hast.
Ok, dann hier mal alles was ausgegeben wird. using D:/Programme/splint/splint-3.1.1/bin/splint using ../etc/grep.sh using C:/Programme/doxygen/bin/doxygen ../files/timer.c ... avr-gcc -c -mmcu=atmega88 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=14745600UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF .release/main.d -Wa,-adhlns=.release/main.lst -W -Wundef -Wshadow -Wbad-function-cast -Wcast -align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wtrigraphs -Wno-main -ansi -DBIN_SIAS_ACTIVE -D__BITFIELD_UNSIGNED__ ../files/main.c -o .release/main.o und dann die fehlermeldung wie oben...
ach, nen fehler ist dabei unten muß es statt main.c -o natürlich timer.c -o lauten. habe ich falsch kopiert!
Sieht unverdächtig aus, bis auf -D__BITFIELD_UNSIGNED__. Damit definierst du einen Makro, der im Namensraum von Compiler und Systembibliothek liegt, sowas ist dir als Anwender nur gestattet, wenn dich die Dokumentation von Compiler oder Bibliothek dazu in irgendeiner Weise auffordert, und da bin ich mir für AVR-GCC und avr-libc ziemlich sicher, dass sie das nicht tut. Ist allerdings sehr unwahrscheinlich, dass das dein Problem ist. Da bleibt nur noch, dass du uns dein komplettes Projektverzeichnis (als .zip oder .tar.gz-Datei) zur Einsichtnahme überlässt. Aus dem von dir bislang geposteten ist der Fehler nicht erklärbar.
danke für deine hilfe! werde einfach das standard makefile nutzen und mit meinem ein wenig "spielen". irgendwann werde ich schon auf den fehler kommmen... danke nochmal!
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.