GNU Toolchain - #include <io.h> wird nicht gefunden

CaptainStone

Neues Mitglied
02. Apr. 2014
3
0
0
Sprachen
Liebe Leute,

nach vielen Tagen im Internet recherchieren und alles lesen was mir unter die Finger gekommen ist, hoffe ich hier jetzt Hilfe zu finden.

Ich habe mir die aktuelle GNU Toolchain 'avr32-gnu-toolchain-linux_x86_64' und die dazugehörigen Header Dateien 'atmel-headers-6.1.3.1475' von der Atmel Seite geholt.

Beide ausgepackt, den Pfad erweitert und die Header Dateien ins 'Include' Verzeichnis gepackt. Trotzdem wird beim Compilien die '#include <avr32/io.h> nicht gefunden.

Dann habe ich den avr32-gcc mit dem Parameter -v aufgerufen, damit mir die Suchpfade angezeigt werden.

#include "..." search starts here:
#include <...> search starts here:
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr32/4.4.7/include
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr32/4.4.7/include-fixed
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr32/4.4.7/../../../../avr32/include

Also habe ich die Header Dateien nach:

' /home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/4.4.7/include' kopiert.

Wieder die Meldung beim compilieren:

'error: avr32/io.h: No such file or directory'

Also hab ich sicherheitshalber nochmal nach der 'io.h' suchen lassen.

'#: find /home/user/avr32-gnu-toolchain-linux_x86_64/ -name io.h'

und er findet sich auch unter:

'/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/4.4.7/include/io.h'

Ich bin mit meinem Latein am Ende. Hat jemand eine Idee was ich falsch mache?

Michael
 
Hallo,

warum suchst Du in 'avr32/io.h' wenn die Headerdatei in 'include/io.h' steckt?

Trotzdem wird beim Compilien die '#include <avr32/io.h> nicht gefunden.

'/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/4.4.7/include/io.h'

Gruß, Wolfgang
 
Servus Wolfgang,

lieben Dank, dass Du mir antwortest.

warum suchst Du in 'avr32/io.h' wenn die Headerdatei in 'include/io.h' steckt?

Auf diesem Pfad der Recherche bin ich auch schon gewandert und habe die h Files praktisch schon fast überall rein kopiert. Ohne Erfolg:

/home/user/avr32-gnu-toolchain-linux_x86_64/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/include/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/include/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/include/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/4.4.7/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/4.4.7/include/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/lib/gcc/avr32/include/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/avr32/io.h
/home/user/avr32-gnu-toolchain-linux_x86_64/avr32/include/io.h

Der Compiler sagt trotzdem:

error: avr32/io.h: No such file or directory

Der gcc selber hat doch intern die Verzeichnis-Struktur schon vorgeben, von wo aus er nach dem Wurzelverzeichnis/bin etwas findet. Ich habe das an verschiedenen Stellen nachgelesen. Sobald er die ausführbare (../bin) findet, weiß er, wo der Rest zu finden ist. Sonst würde ja nicht diese Ausgabe kommen:
#include "..." search starts here:
#include <...> search starts here:
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr32/4.4.7/include
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr32/4.4.7/include-fixed
/home/user/avr32-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr32/4.4.7/../../../../avr32/include

Ich habe auch einige Diskussionen in anderen Foren über das Thema nachgelesen. Da wude z.B folgendes erklärt, nachdem jemand ebenfalls die io.h vermisste (aus dem Jahre 2012):

---
I'm trying to compile a very simple application using the AVR32-gnu-toolchain for x86_64. The target is an evk1105 with an uc3a0512 onboard. Problem being is that the toolchain seems to lack the avr32/io.h!
---

Die Antwort drauf ist ganz simple:

---
On Linux and Mac OS X you have to download and unzip header files separately into the Toolchain installation directory, $TOOLCHAIN/avr32/include.
---

Voila, und es hat bei ihm funktioniert. Dort ist es mir aber auch. Kann es sein, dass es da ein Problem mit der aktullen Toolchain gibt, oder ist das Brett vor meinem Kopf so unermesslich groß?

Michael
 
Servus Wolfgang,

warum suchst Du in 'avr32/io.h' wenn die Headerdatei in 'include/io.h' steckt?

da steckte auch tatsächlich die Lösung. Es muss im /include Verzeichnis nochmal ein AVR32 Verzeichnis angelegt werden. Jetzt klappt's. Du hast es in die richtige Richtung gelenkt :)

Michael
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)