Forum: Mikrocontroller und Digitale Elektronik #Include Anfänger Fragen


von Stephan B. (Firma: HSHL) (schmeuki)


Lesenswert?

Hallo
Wahrscheinlich muss ich mich im Vorfeld für die "dummen" Fragen 
entschuldigen, aber ich muss Sie stellen.
Ich enutze AVR Studio 4.18 und will ein bestehendes Programm überprüfen 
.
Also was mache ich falsch?
1.ich erstelle ein neues Projekt ( ATMega 32, STK500....)
2.ich kopiere den Code
Wenn ich nun build drücke sagt er mir das einige #include datein nicht 
in dem Verzeichniss sind ! Alles klar also lade ich mir z.B. i2cmaster.h 
herunter. Kopierer es in das Studio Verzeichnis (?) selber Fehler.
Dieses Problem habe ich mit 5 #include Datein. Wenn ihr mir es einmal 
erklärt sollte ich es erstmal schaffen ;)
Gibt es etwas das ich im weiteren Verlauf dringend beachten sollte ?

Danke schon mal!
MFG Stephan

: Verschoben durch Moderator
von Michael R. (dj_motionx)


Lesenswert?

Hallo !

Du kannst in den Projekteinstellungen einen Pfad angeben wo deine "nicht 
system" Include dateien liegen dann sollten sie gefunden werden.

mfg michi

von Karl H. (kbuchegg)


Lesenswert?

Stephan Breuker schrieb:

> Also was mache ich falsch?
> 1.ich erstelle ein neues Projekt ( ATMega 32, STK500....)

soweit so gut

> 2.ich kopiere den Code

ok.

> Wenn ich nun build drücke sagt er mir das einige #include datein nicht
> in dem Verzeichniss sind !

In welchem Verzeichnis?

Beim #include kann man auch einen Pfad angeben. Hast du so einen Fall?

> Alles klar also lade ich mir z.B. i2cmaster.h
> herunter. Kopierer es in das Studio Verzeichnis (?)

In welches Verzeichnis?

Ich hoffe du meinst das Projekt-Verzeichnis, in dem dein Projekt 
aufgebaut wird. Die Verzeichnisse, in denen AVR-Studio installiert ist, 
sind für dich tabu. Ausser wenn dort Fehler zu beheben sind, hast du 
dort nichts verloren. Insbesondere werden dort keine projektspezifischen 
Header-Files hinkopiert!

> Gibt es etwas das ich im weiteren Verlauf dringend beachten sollte ?

Ist ganz einfach:

Alle Datein auf einem Verzeichnis.
In den Projektspezifischen Includes keine Pfade
Alle Dateinamen müssen übereinstimmen

Dann kann schon (zumindest in der Hinsicht) nichts mehr schief gehen

von Stephan B. (Firma: HSHL) (schmeuki)


Lesenswert?

Also ich habe jetzt alle Dateien in ...->Dokumente      ! Dort wird auch 
mein Projekt gespeichert. Kopiere ich nun jede einzelne Datei von 
i2cmaster dort hinein oder den gesamten Ordner ?

von Karl H. (kbuchegg)


Lesenswert?

Stephan Breuker schrieb:
> Also ich habe jetzt alle Dateien in ...->Dokumente      !

Ich könnte heute noch eine Pumpgun nehmen und nach Redmondt fahren und 
demjenigen, der sich diesen Dokumente Quatsch ausgedacht hat .... einmal 
mit dem Gewehrkolben eine drüberziehen.

> Dort wird auch
> mein Projekt gespeichert. Kopiere ich nun jede einzelne Datei von
> i2cmaster dort hinein oder den gesamten Ordner ?

Das ist jetzt nicht die sauberste Lösung:
alle *.c und alle *.h

die etwas bessere Lösung
nur die *.c und die *.h die du brauchst

die noch bessere Lösung
gar nichts, dafür gibst du bei den Includes an, wo die Dateien zu finden 
sind.
Das geht wieder auf 3 mögliche Arten:
* entweder durch direkte Pfadangabe im #include
* oder durch relative Pfadangabe im #include
* oder indem man dem Compiler das zusätzliche Verzeichnis zeigt


Nimm als Anfänger die Quick&Dirty 'nicht sauberste' Lösung.

von Stephan B. (Firma: HSHL) (schmeuki)


Lesenswert?

Also ich habe nun über die Projekt Settings mein externes Makefile 
geladen .
Aber irgendwas mache ich noch falsch

gcc plug-in: Error: Object file not found on expected location 
C:\Users\sbreuker\Documents\TestC.elf
Make sure your makefile specifies the output .elf file as TestC.elf


Wahrscheinlich ne Kleinigkeit - aber ich brauche Hilfe .
Danke

von Helfer (Gast)


Lesenswert?

> Also ich habe nun über die Projekt Settings mein externes Makefile
> geladen.

Fehlerträchtig. Die Mehrzahl der AVR Studio Benutzer dürfte ohne 
externes Makefile auskommen.

> gcc plug-in: Error: Object file not found on expected location
> C:\Users\sbreuker\Documents\TestC.elf

Kann auch bedeuten, dass die Kompilierung nicht erfolgreich war. AVR 
Studio hat zusätzliche per Tabellenreiter aktivierbare Fenster mit den 
Meldungen vom Kompiliervorgang. Dort mal nachsehen.

> Make sure your makefile specifies the output .elf file as TestC.elf

Und, schon gemacht?

von Stephan B. (Firma: HSHL) (schmeuki)


Lesenswert?

#> Make sure your makefile specifies the output .elf file as TestC.elf
#
#Und, schon gemacht?

Wie mache ich das ??????

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.