mikrocontroller.net

Forum: Compiler & IDEs delay.h fehler beim compilieren


Autor: mark (Gast)
Datum:

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

Autor: Εrnst B✶ (ernst)
Datum:

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

Autor: mark (Gast)
Datum:

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

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das Wort 'inline' im eigenen Programm irgendwo verwendet?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste mal alles.  Irgendwas ist daran schräg.

Autor: mark (Gast)
Datum:

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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, du hast irgendwas verbogen.  Poste doch mal die Compiler-
Kommandozeile, die das make mit deinem Makefile aufruft.

Autor: mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg!

Danke für Deine Antwort!

Wo genau finde ich die Compiler - Kommandozeile die Du benötigst?

Gruß
Mark

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sie steht oberhalb der Fehlermeldungen, die Du als erstes gepostet hast.

Autor: mark (Gast)
Datum:

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

Autor: mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach, nen fehler ist dabei unten muß es statt main.c -o natürlich timer.c 
-o lauten. habe ich falsch kopiert!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

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

Autor: mark (Gast)
Datum:

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

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.