Forum: Mikrocontroller und Digitale Elektronik AVR Studio 5 compilieren, Fehler! aber mit externe Makefile kein Problem, warum?


von Martin e. C. (eduardo)


Lesenswert?

Hallo,
versuche mich mit AVRStudio 5 einzuarbeiten nun klappt leider nicht 
ganz.
Ich habe immer WinAVR (+ Notepad) benutz, da AVRStudio 5 durch Haus 
Toolchain mitbringt sollte dann nicht viel anders sein oder??

So, ich habe versucht ein Project zu compilieren der unter WinAVR fehler 
frei lauft bzw. bei compilieren keine Fehler gibt. Bei AVRStudio 5 gibt 
folgede Fehler:

datatype.h: No such file or directory

datatype.h ist aber als im Project und wenn ich "External Makefile" 
benutze, dann compiliert es fehlerfrei!

wo liegt das Fehler, kenn sich schon jemand mit dem AVRStudio 5

Gruß
Martin

von Vlad T. (vlad_tepesch)


Lesenswert?

der fehler liegt in der Projektkonfigurationsdatei in Zeile 42

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

Sorry!!
Also AS5 wie im Bilder und die externe Makefile

von Carsten W. (eagle38106)


Lesenswert?

Hi!

Die spitzen Klammern müssen durch Anführungszeichen ersetzt werden, dann 
klappts:

1
#include "datatype.h"

Mit spitzen Klammern wird die Datei bei den Header-Dateien des Compilers 
gesucht.

Carsten

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

Hi,
ja das hatte ich mal versucht aber da die Fehler liste großer wird!

von Martin e. C. (eduardo)


Lesenswert?

Das ist dass ich nicht ganz verstehe, wenn ich die Makefile (als extern) 
benutze dann ist kein Problem! warum?

von Karl H. (kbuchegg)


Lesenswert?

Martin e. C. schrieb:
> Hi,
> ja das hatte ich mal versucht aber da die Fehler liste großer wird!

Dann fang beim ersten an und arbeite dich durch.
Dein Code kann davon nur profitieren.

Der Compiler ist offenbar auf "happiger" eingestellt worden.

Für den ist ein uint8_t* nicht mehr dasselbe wie ein const char*

Und wenn du mich fragst, ist das auch so in Ordnung.

von Martin e. C. (eduardo)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Der Compiler ist offenbar auf "happiger" eingestellt worden.
>
> Für den ist ein uint8_t* nicht mehr dasselbe wie ein const char*
>
> Und wenn du mich fragst, ist das auch so in Ordnung.

ok verstanden!

von Carsten W. (eagle38106)


Lesenswert?

Du versuchst hier Äpfel mit Birnen zu vergleichen!

Das vorliegende Makefile ist nicht vom AS5 generiert worden, sondern es 
ist ein händisch erzeugtes: Dort sind ganz andere Einstellungen 
vorgenommen worden, als in AS5. Z.B. ist im Makefile der 
Compilerschalter -funsigned-char und das define F_CPU gesetzt. Beides 
wird standardmäßig in AS5 nicht gesetzt. Wenn Du die Konstante F_CPU in 
den Projekteigenschaften auf dem Toolchain Reiter unter AVR/GNU C 
Compiler->Symbols setzt, sowie der Haken bei "Default char type is 
unsigned (-funsigned-char)" unter ..->General, dann sollte es mit dem 
Compilieren funtionieren.

Aber schön ist das nicht. Alle Warnungen müssen weg!

Carsten

von Martin e. C. (eduardo)


Lesenswert?

Carsten Wille schrieb:
> Du versuchst hier Äpfel mit Birnen zu vergleichen!
>
> Das vorliegende Makefile ist nicht vom AS5 generiert worden, sondern es
> ist ein händisch erzeugtes: Dort sind ganz andere Einstellungen
> vorgenommen worden, als in AS5.

Hallo Carsten,
ja das war mir klar die Makefile die AS5 generiert ist natürlich ganz 
anders, mir war aber nicht ganz klar warum unter AS5 mit dem GCC nicht 
ok compilliert würde aber wie @Karl Heinz Buchegger sagt der Compiler 
ist mit dem ext. Makefile als"happiger" eingestellt.

wie du es vorschlägst funktioniert aber wie du und Karl Heinz sagen, 
schön ist das nicht!

Gruß
Martin

von Thomas L. (thomasblue)


Lesenswert?

Dein altes Projekt war anscheind ganz schön freizügig eingestellt. Was 
passiert denn, wenn du das compilerflag -Wall setzt?

von Martin e. C. (eduardo)


Lesenswert?

ja das ist ein ganz ales Project (nicht von mir), das habe irgendwo 
gefunden um ein AVR Board zu testen.
Mit dem Einstellugen von @Carsten Wille bzw. was er vorschlägt:
> Haken bei "Default char type is
> unsigned (-funsigned-char)" unter ..->General

wird dann ohne Fehler und ohne Warnungen compiliert.

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.