Forum: Mikrocontroller und Digitale Elektronik AVR Problem avr/io.h: No such file or directory


von Rebi (Gast)


Lesenswert?

Hallo zusammen
Ich bekommen immer die gleiche fehlermeldung.
"avr/io.h: No such file or directory"
Ich begreife nicht wieso, selbst wenn ich ein neues Projekt eröffne und 
dieses anschliessend compiliere ohne zu bearbeiten kriege ich die 
Fehlermeldung, ich hab jetzt ca 20min im Internet nach lösungen gesucht 
doch nichts hilfreiches gefunden.

Gruss Sebi

von Helmut L. (helmi1)


Lesenswert?

Du must den Path zur IO.h in Configuration Options -> Include Path 
eintragen.

von Rebi (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> Du must den Path zur IO.h in Configuration Options -> Include Path
> eintragen.

Wo finde ich Configuration Options? und wieso muss ich das machen? 
Arbeit jetzt ca seit 1 Jahr mit ARV Studio und so etwas ist mir noch nie 
passiert.

von Karl H. (kbuchegg)


Lesenswert?

Rebi schrieb:

> und wieso muss ich das machen?

Weil du dir offenbar deine Konfiguration irgendwie zerschossen hast.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Rebi schrieb:
> Wo finde ich Configuration Options? und wieso muss ich das machen?
> Arbeit jetzt ca seit 1 Jahr mit ARV Studio und so etwas ist mir noch nie
> passiert.

Da kann ich fast nicht glauben, das du die Configuration Options nicht 
kennst, denn da stellst du normalerweise für jedes Projekt 
Oszillatorfrequenz und Optimierung ein.
Wenn du AVR Studio 4 benutzt, frage ich also erstmal - hast du die Atmel 
Toolchain oder WinAVR?

von Rebi (Gast)


Lesenswert?

Matthias Sch. schrieb:
> Da kann ich fast nicht glauben, das du die Configuration Options nicht
> kennst, denn da stellst du normalerweise für jedes Projekt
> Oszillatorfrequenz und Optimierung ein.
> Wenn du AVR Studio 4 benutzt, frage ich also erstmal - hast du die Atmel
> Toolchain oder WinAVR?

Ich nutze AVR Studio 5.0
Einstellen habe ich für meine bisherigen Projekte nur den Debugger und 
die Taktfrequenz.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Rebi schrieb:
> Ich nutze AVR Studio 5.0

Dann empfehle ich dir auf jeden Fall erstmal den Upgrade auf Atmel 
Studio (so heisst das jetzt) Version 6. Studio 5 war eine recht 
kurzlebige Zwischenversion. Wenn ich mich nicht irre, ist Version 6.2 
die derzeit aktuelle. Vermutlich wird dann alles ohne weiteres Zutun 
wieder funktionieren.

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Helmut Lenzen schrieb:
> Du must den Path zur IO.h in Configuration Options -> Include Path
> eintragen.

Und warum sollte avr-gcc das nicht selbst finden?

1) Die Installation ist zerschossen --> da helfen auch keine anderen 
Pfade

2) Irgendwas / irgendjemand hat an den Pfaden rumgefutschelt und Unsinn 
eingetragen: Damit gcc seine Includes und Bibliotheken finden brauch man 
genau 0 Pfade anzugeben.

Und das war schon immer so, dafür brauch man keine "neue" Version der 
Toolchain.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Johann L. schrieb:
> Und warum sollte avr-gcc das nicht selbst finden?
 Und wie soll er das tun wenn AVR Toolchain aktiviert ist und
 er Win AVR benutzt ?

 In Project => Configuration Options, im linken Tab Custom Options.
 AVR Toolchain deaktivirien.
 Path zum avr-gcc eintragen, z.B. C:\WinAVR\bin\avr-gcc.exe
 Path zum make eintragen, z.B.    C:\WinAVR\utils\bin\make.exe

 AVR Studio 4.19

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Marc Vesely schrieb:
> Johann L. schrieb:
>> Und warum sollte avr-gcc das nicht selbst finden?
>  Und wie soll er das tun wenn AVR Toolchain aktiviert ist und
>  er Win AVR benutzt ?

WinAVR findet ebenfalls seine Includes und Libs:

Wenn man
1
/foo/bbar/baz/bin/avr-gcc
verwendet, dann gehört
1
/foo/bbar/baz/avr/include
zu den Standard-Systemincludepfaden.  Der Pfad muss nicht extra 
angegeben werden.

Wenn man
1
/dingens/bummens/bin/avr-gcc
verwendet, dann gehört
1
/dingens/bummens/avr/include
zu den Standard-Systemincludepfaden.  Der Pfad muss nicht extra 
angegeben werden.

usw. usw.

Die Datei, die zu Includen ist, heißt übrigens avr/io.h, auch unter 
Windos, d.h.
1
#include <avr/io.h>
und nix anderes; kein IO.h kein AVR/io.h kein avr\io.h oder was auch 
immer.

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.