PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : keine .hex-datei [gelöst]



cento
06.07.2007, 13:02
Hallo!

Ich hab eine Frage:
Und zwar kann ich mit dem mitgelieferten c++ Programm "Programmers Notepad2" keine .hex-datei mehr erstellen. Es ging 2mal und seit dem zeigt das Programm wenn man "make" in den Tools anklickt dies an:

C:\ASURO_src\ASURO_src\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
test.c:1:10: #include expects "FILENAME" or <FILENAME>
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
test.c:1:10: #include expects "FILENAME" or <FILENAME>
test.c: In function `main':
test.c:3: warning: implicit declaration of function `Init'
test.c:4: warning: implicit declaration of function `StatusLED'
test.c:4: error: `RED' undeclared (first use in this function)
test.c:4: error: (Each undeclared identifier is reported only once
test.c:4: error: for each function it appears in.)
test.c:7:2: warning: no newline at end of file
make: *** [test.o] Error 1

> Process Exit Code: 2

an was liegt das?
freu mich auf euere Antworten...

adrisch
06.07.2007, 13:09
Was mir jetzt sofort auffällt, ist, dass du beim Including einen Fehler gemacht hast. Wie der Fehlercode sagt, erwartet die #include-Funktion eintweder einen Dateinamen in Anführungszeichen("asuro.h" ) oder in Tag-Klammern. ( <asuro.h> ) Da jedoch die Anleitung zu dieser Methode ( "asuro.h" ), würde ich sie auch verwenden.

zumgwadrad
06.07.2007, 13:10
Hi,
du hast wahrscheinlich irgendeinen Header vergessen zu includen!
Kenn mich mit dem Asuro nicht aus aber dein Compiler meckert weil des Prog nen Fehler hat!
Er kann mit Init und mit RED nichts anfangen!
Viel Erfolg noch

cento
06.07.2007, 13:15
Ja das ist klar aber ich habe eben auch das Problem, dass wenn ich das Standardprogramm, das das in der Anleitung zum Asuro steht, erstellen lassen will, dass dort schon diese Fehler auftauchen...

zumgwadrad
06.07.2007, 13:18
Hi,
da musst du den Compilerauswurf anschauen da steht drin warums net geht!
So ohne Quellcode kann ich von hier aus nicht sagen wo der Fehler ist!
Und eine .hex wird ja nur dann erzeugt wenn des Programm keine Fehler mehr hat, ansonsten wird die Erzeugung abgebrochen!

adrisch
06.07.2007, 13:20
Ich vermute mal, dass du den üblichen Anfängerfehler gemacht hast(hab ich auch gemacht) und vergessen hast vor dem Ausführen des make-tools zu speichern.

zumgwadrad
06.07.2007, 13:23
@adrisch
Oha gute Kombinationsgabe! Stimmt den Fehler hab ich schon so lange nicht mehr gemacht da hätte ich gar nicht mehr dran gedacht!
Mach fast automatisch im schlaf immer mal wieder Strg+s und schon ist gespeichert!

cento
06.07.2007, 13:25
bei diesem Quellcode erscheint der Fehler



#include “asuro.h”
int main(void) {
Init();
StatusLED(RED);
while(1);
return 0;
}

adrisch
06.07.2007, 13:26
Wie gesagt:
Speichere und führe das maketool nochamal aus

@war die einzige möglichkeuit, die sich auftat...

PS.: Nur noch zwei Artikel bis zu meinem 300.!

adrisch
06.07.2007, 13:29
Hab die Lösung!
Du verwendest falsche Snführunszeichen! Nimm mal shift-2!

cento
06.07.2007, 13:29
das mit dem Speichern ist es nicht...

uwegw
06.07.2007, 13:32
Der Compiler erwartet
#include "asuro.h"

Du schreibst aber
#include “asuro.h”

Schau mal ganz genau hin! ” ist für den Compiler nicht gleich "!
Ich nehme mal an, dass du dir den Code aus nem PDF etc rauskopiert hast, und dass darin das "falsche" Zeichen stand. Ist nen echt fieser Fehler...

adrisch
06.07.2007, 13:32
Wie gesagt:
Shift-2 (Was verwendest du für Tasten?)
Das sieht dann so aus:
" " und nicht “ ”

m.a.r.v.i.n
06.07.2007, 19:13
Ein typischer Copy und Paste Fehler. Das passiert wenn man aus einer pdf Datei Programmcode kopiert.

ehenkes
06.07.2007, 22:58
..................

radbruch
07.07.2007, 00:39
Interessanter Fehler. Auf so etwas muss man erst mal kommen.
Unsinn. Ein typisches Beispiel für einen völlig unnötig langen Thread.

Im ersten Posting stand schon alles, hätte er gleich den Quellcode mitgeliefert, wäre der Thread nach dem 2. Posting zuende gewesen:


test.c:1:10: #include expects "FILENAME" or <FILENAME>
Weil's mir zu doof war, nach dem Quellcode zu fragen, konnte adrisch (http://adrian-schneider.de) seinen Postingcounter um weitere 5 Punkte hochschrauben. Ich muss mich wohl mehr bemühen, sonst überholt er mich noch. Zur Rettung seiner Ehre muss man anmerken, dass in seinem ersten Posting die Antwort auch enthalten war. Allerdings muss man lesen können, um sie zu finden:


Dateinamen in Anführungszeichen("asuro.h" ) oder in Tag-Klammern. ( <asuro.h> )

Vielleicht wären dann noch drei weitere Postings nötig gewesen: "Es funktioniert immer noch nicht" "Hast du gespeichert?" "Oh, darauf hätte ich auch selbst kommen können, vielen Dank, jetzt funktioniert alles".

Deshalb: Immer den Programmcode mitschicken, wenn was nicht funktionieren sollte!

Und Speichern nicht vergessen, wenn ihr das Programmers Notepad verwendet. Aber das weis ja wohl inzwischen jeder der es verwendet:


Stimmt den Fehler hab ich schon so lange nicht mehr gemacht da hätte ich gar nicht mehr dran gedacht!

Erst fragen und dann denken ist immer gut. O:)

Ein [gelöst] im Titel des Threads wäre jetzt übrigens optimal...

Gruß

mic

[Edit]

..................
Hier ist wohl jeder weitere Kommentar überflüssig.

@cento:
Danke für den geänderten Titel. O:)