Danke![]()
jetzt geht alles
Danke![]()
jetzt geht alles
ih muss hier mal ein großes lob an sternthaler aussprechen, der sich oftdie zeit nimmt solche themen exzessiv und unendlich ausführlich sowie sehr verständlich zu beschreiben.das ist wirklich toll!
Hi,
ich habe ein Problem mit der neuen Lib.
Das Makefile habe ich angepasst.
Fehlermeldung nach starten von make-lib:
Woran liegt es?Code:C:\Programme\Atmel\AVR Tools\AsuroLib\lib>make install cp libasuro.a C:/Programme/Atmel/AVR Tools/WinAVR/avr/lib/libasuro.a cp: copying multiple files, but last argument `Tools/WinAVR/avr/lib/libasuro.a' is not a directory Try `cp --help' for more information. make: *** [install] Error 1
gruss
Alex
@damaltor
Danke
Aber wer versteht das Problem von filth ?
Da steht doch "cp libasuro.a ...", also wird doch nur genau eine Datei angesprochen um sie zu kopieren!
Oder ist Windoof tatsächlich so doof und kann das BLANK in:
"C:/Programme/Atmel/AVR Tools...." wieder nicht als Pfadnamen interpretieren?
@filth
Als 'workaround' müsste aber folgendes helfen:
In dem Makefile der LIB, bei dir also unter "C:\Programme\Atmel\AVR Tools\AsuroLib\lib", die Stelle suchen, an der der cp-Befehl für die LIB steht.
Dann genau so wie beim kopieren der *.h-Dateien hinten beim Ziel das libasuro.a weglassen.
Das ganze steht direkt bei dem cp-Befehl für die *.h-Dateien.
Also in der Nähe von der Stelle, an der du
-4-> Suche: cp inc/$(HEADER) $(DIRINC)/$(HEADER)
---> Ändern: cp inc/$(HEADER) $(DIRINC)
machen solltest.
[Edit] Wenn Windoof den Pfad mit BLANK nicht interpretieren kann, wird es doch nichts nutzen auch beim cp der libasuro.a den Ziel-Namen wegzulassen.
Kennt hier einer ne Lösung? So mit "- oder '-Zeichen?
Viel Erfolg
Lieber Asuro programieren als arbeiten gehen.
Hi,
ich habe das blank durch ein "-" ersetzt und nun funktioniert alles.
Windows halt
Grüße
Alex
Hi,
ich bin´s nochmal - das Kompilieren aht ja geklappt. Nun wollte ich die Lib mal testen, aber es scheint nicht zu gehen. Das folgende Programm:
Kennt das PrintInt nicht.Code:#include "asuro.h" #include <stdlib.h> int main(void) { unsigned int data[2]; char buffer[8]; unsigned int Zahl1; Init(); MotorDir(FWD, FWD); MotorSpeed(120,120); StatusLED(GREEN); do { OdometrieData(data); PrintInt(data[0]); } while(1); while(1); return 0; }
Das Makefile im Entwicklungsverzeichniss:
Was ist da los?# Define directories, if needed.
DIRAVR = C:/Programme/Atmel/AVR-Tools/WinAVR
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
Hallo filth,
da bin ich aber froh, dass es wirklich win-Doof heißt.
m.a.r.v.i.n hatte am 13.09 schon an liggi folgendes geschrieben:
Ich vermute auch bei dir noch die Dateien asuro.h und asur.c in deinem Projektordner.in deinem Projektordner befindet sich wahrscheinlich noch eine alte asuro.h und asuro.c. Die müssen da natürlich weg. Es wird nur noch die asuro.h aus dem lib/inc Ordner und die asuro.c aus dem lib Ordner verwendet.
Zur Erklärung:
Das in deinem Makefile im Entwicklungsordner angegeben "DIRINC = . " wäre hier dafür verantwortlich, dass dort zuerst nach den *.h-Dateien gesucht wird, und erst danach in den AVR-Verzeichnissen.
Dies ist deshalb aber sinnvoll, da du ja eventuell auch noch eigene *.h-Dateien schreiben möchtest, die dann natürlich in deinem Projektverzeichniss liegen.
Lieber Asuro programieren als arbeiten gehen.
Hi,
Du hattest Recht, es waren noch Projektdateien im Ordner. Die habe ich entfernt, aber es funktioniert immer noch nicht
Hier die Ausgabe:
GrussCode:> "make.exe" all set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os \ test.c \ | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \ [ -s test.d ] || rm -f test.d test.c:1:19: asuro.h: No such file or directory avr-gcc.exe: : No such file or directory -------- 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 \ test.c -o test.o avr-gcc: cannot specify -o with -c or -S and multiple compilations make.exe: *** [test.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:02
filth
@filth
Na, jetzt stehen wir erst einmal im Regen, da die Fehlerausgabe:
"test.c:1:19: asuro.h: No such file or directory"
nun aussagt, dass die asuro.h auch nicht im GCC-HOME\avr\include-Verzeichniss gefunden wird. Wahrscheinlich wird dann auch die libasuro.a nicht unter GCC-HOME\avr\lib gefunden beim späteren linken.
Nun also folgende Fragen an dich:
- Wo hast du das WinAVR installiert? (Blickrichtung 1: GCC-HOME)
Bitte vollen Pfad angeben.
- Was genau steht in deinem Projekt-Makefile? (Blickrichtung 3: PROG-HOME\dein-Unterverzeichnis)
Dieses solltest du hier mal posten.
(Ist das Makefile automatisch erstellt, oder hast du ein Muster aus der LIB benutzt?)
Und wenn du schon Makefiles postets, dann bitte auch gleich einmal das Makefile aus Blickrichting 2 (LIB-HOME), da dieses dafür verantwortlich ist alles notwendige aus der Asuro-LIB in die GCC-HOME/avr/...-Verzeichnisse zu kopieren. (Hier könnte ja schon ein Fehler stecken.)
Lieber Asuro programieren als arbeiten gehen.
Hi Leute,
auch ich habe die beschriebenen Änderungen vorgenommen, doch bei mir geht gar nix mehr! folgender fehlercode erscheint bei mir:
Der Fehler liegt also darin, dass asuro.h nicht im gleichen Ordner wie schleichen.c liegt... Aber ich dachte, dass der Anleitung entsprechend, dass neue asuro.h und asuro.c aus dem asurolib ordner automatisch verwendet werden müsste...Code:U:\desktop\Eigene Dateien\Asuro\FirstTry>make all make: *** No rule to make target `asuro.h', needed by `schleichen.d'. Stop. > Process Exit Code: 2
Doch auch wenn ich asuro.h und asuro.c im Verzeichnis belasse erscheint eine Fehlermeldung:
Hier noch einige Angaben:Code:U:\desktop\Eigene Dateien\Asuro\FirstTry>make all set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os VPATH=U:\desktop\Eigene Dateien\Asuro\AsuroLib/lib asuro.c \ | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \ [ -s asuro.d ] || rm -f asuro.d avr-gcc.exe: VPATH=U:desktopEigene: No such file or directory avr-gcc.exe: DateienAsuroAsuroLib/lib: No such file or directory -------- 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 VPATH=U:\desktop\Eigene Dateien\Asuro\AsuroLib/lib schleichen.c -o schleichen.o avr-gcc: cannot specify -o with -c or -S and multiple compilations make: *** [schleichen.o] Error 1 > Process Exit Code: 2
Pfad meiner C-Programme (Hab sie gerade im Verzeichnis gespeichert, welches ich von der CD kopiert habe):
U:\desktop\Eigene Dateien\Asuro\FirstTry
Pfad der lib:
U:\desktop\Eigene Dateien\Asuro\AsuroLib\lib
Vielen Dank im voraus!
Lesezeichen