Forum: Mikrocontroller und Digitale Elektronik AVR Studio Include Error


von J.H. (Gast)


Lesenswert?

Ich bin daran in AVR Studio ein Projekt zu entwickeln (das erste mal in 
AVR S.) und will ein externes Soucrefile einbinden dabei bekomme ich 
immer follgenden Fehler:

cc1.exe: error: C:\Temperaturanzeige\drv_8bit.h: not a directory
make: *** [Temperaturanzeige.o] Error 1

Was habe ich Falsch eingestellt? Bzw. hat mir jemand hierzu vll. eine 
komplette Erklärung wie ich den Source genau einbinde?

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Einfach in das File, in das es eingebunden werden soll
#include "C:\Temperaturanzeige\drv_8bit.h"

eintragen. Wie sich das anhört, hast du es im Menu als Include Directory 
angegeben. Da gehört es nicht hin, das sind Pfade, in denen gesucht 
wird, wenn man nicht den ganzen Pfad bei Include angibt.

Grüße,

Peter

von J.H. (Gast)


Lesenswert?

Danke!

von Uhu U. (uhu)


Lesenswert?

Peter Diener schrieb:
> Einfach in das File, in das es eingebunden werden soll
> #include "C:\Temperaturanzeige\drv_8bit.h"
>
> eintragen. Wie sich das anhört, hast du es im Menu als Include Directory
> angegeben.

Nein, so gehört sich das gerade nicht, weil das Projekt damit 
lageabhängig wird.

Die normale Lösung ist, den .h-Pfad über die -I - Option auf der 
Kommandozeile oder in den Projekt-Properties zu definieren. Dann kann 
man das Projekt auch in einem anderen Verzeichnis generieren und die 
Einstellungen dafür mit einem Federstrich für alle Quellfiles 
einstellen.

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Uhu hat natürlich Recht, wenn du das Projekt mal als ganzes auf einen 
anderen Rechner kopierst und es dort nicht auf dem gleichen Pfad liegt, 
musst du mit der Variante, die ich gezeigt habe, in jedem Codefile alle 
Includepfade von Hand ändern.

Die saubere Lösung sieht in AVR Studio so aus:

Dialogfenster für die Projektkonfiguration öffnen:
Project -> Configuration Options -> Include Directories

New folder

Dort den Includepfad eintragen, in deinem Fall C:\Temperaturanzeige\

Im Sourcefile wird das Headerfile dann mit

#include "drv_8bit.h"

eingebunden.

Für den Fall, dass C:\Temperaturanzeige\ schon das Projektverzeichnis 
ist, muss der Pfad nicht als Includepfad angegeben werden.

Grüße,

Peter

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.