PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einige Fehler bitte um dringende HILFE



genc20
24.02.2009, 16:58
HI @all

Habe ein problem mit dem asuro lib au s dem forum ich bekomme das irgend wie nicht hin obwohl ich es schritt für schritt gemacht habe

Also ich erhalte diese fehler nachdem debuggen


http://img21.imageshack.us/img21/812/fehleru.jpg

test.o(.text+0x6c): In function `main':
F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:139: undefined reference to `Encoder_Init'
test.o(.text+0x74):F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:140: undefined reference to `Encoder_Set'
test.o(.text+0x3d8): In function `BodenTest':
F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:314: undefined reference to `Encoder_Init'
test.o(.text+0x3e0):F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:315: undefined reference to `Encoder_Set'
test.o(.text+0x462): In function `Dreh90':
F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:345: undefined reference to `Encoder_Init'
test.o(.text+0x46a):F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:346: undefined reference to `Encoder_Set'
test.o(.text+0x6ea): In function `LinieVerfolgen':
F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:506: undefined reference to `Encoder_Init'
test.o(.text+0x6f0):F:\ASURO CD\AsuroLib-v280rc1\examples\Test/test.c:507: undefined reference to `Encoder_Set'
make: *** [test.elf] Error 1

F:\ASURO CD\AsuroLib-v280rc1\examples\Test>pause
Drcken Sie eine beliebige Taste . . .

so sieht meine makefile aus im lib

http://img187.imageshack.us/img187/4367/makefile.jpg



wenn ich auf die batch datei klicke make-lib.bat damit es in mienem verzeichniss C:\WinAVR die dateien kopieren soll kommt diese fehler/warnungen


http://img502.imageshack.us/img502/4049/make.jpg

ich hoffe das ihr mir schnellst möglich helfen könnt


mfg

radbruch
24.02.2009, 18:50
Hallo

Bitte Forumregeln beachten:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=1340

Vor allem Punkt 2 (nichtssagender Betreff) und Punkt 11 (zu große Bilder) solltest du mal durchlesen.

Außerdem ist es besser wenn du anstelle der Bildschirmabbilder die Programm- und Fehlertexte sowie das Makefile/Batchdatei als Text in einer Code-Box einfügst. Das beschleunigt die Ladezeiten und ermöglicht/erleichtert uns das Kopieren/Ausprobieren deiner Dateien.

Zu deinem Problem kann ich leider nicht viel sagen weil ich eine relativ alte Lib verwende (v2.3? mit IR-Erweiterung).

Da die Funktionen Encoder_Init() und Encoder_Set() angemotzt werden scheint hier irgendein Problem zu bestehen. Könnte es sein das die _ zuviel sind? Die richtige Schreibweise ist wichtig!

Gruß

mic

damaltor
24.02.2009, 18:54
bitte mach keine screenshots, sondern füge deinen code direkt in deinen beitrag ein. dazu schreibst du [c o d e] (ohne leerzeichen), dann deinen quelltext oder makefile oder was auch immer, dann [/ c o d e] wieder ohne leerzeichen.

genc20
24.02.2009, 19:01
jo beitrag würde geändert könnte einer helfen

Valen
24.02.2009, 20:56
Bitte erganze die screenbilder mit dem text/error output und ganze makefile datei. Nur die bilder-links im [code] blocks hilft nichts.

Aber ich denke ich habs schon gesehen.

Wie alt ist deine WinAVR compiler? Sieht aus es versteht die dwarf2 option nicht. Ich furchte du hast nicht alles in die install.txt (vom lib280rc1) gelessen:


Voraussetzungen
---------------
Um die Asuro Lib zu verwenden wird neben dem Asuro eine Entwicklungsumgebung für die Atmel AVR Prozessoren benötigt.
Der Quelllcode der Bibliothek wurde für die AVR-GCC Cross-Compiler Suite geschrieben. Den AVR-GCC ist kostenlos für diverse Plattformen
(Windows, Linux, Mac) verfügbar. Es wird die Verwendung der jeweils neuesten Version empfohlen.
Die Bibliothek kommt aber auch mit alten Versionen klar. Auf der Asuro CD befindet sich z.B. eine sehr alte WinAVR Version (20030913)
aus dem Jahre 2003. Die aktuelle WinAVR Version (20070525) ist hier auf jeden Fall vorzuziehen.
Download Links

* http://sourceforge.net/projects/winavr/ WinAVR. Der AVR Cross-Compiler für Windows.
* http://www.avrfreaks.net/wiki/index.php/Documentation:AVR_GCC AVR-GCC Homepage

[edit] ich brauche WinAVR version 4.2.2 20071221 (21 december 2007). Ich habe kein problem mit compilieren und so.

m.a.r.v.i.n
25.02.2009, 10:25
Hallo genc20,

wie valen schon sagte, gibt es diese Compiler Warnungen bei der Verwendung alter WinAVR Versionen.

Die Funktionsnamen der AsuroLib haben seit V2.7 im Zuge einer einheitlichen Namensgebung keinen Unterstrich mehr:
EncoderInit()
EncoderSet()
EncoderStart()
EncoderStop()

@valen die WinAVR20071221 gibt es nach wie vor bei Sourceforge:
http://downloads.sourceforge.net/winavr/WinAVR-20071221-install.exe?use_mirror=mesh

Valen
25.02.2009, 12:09
Danke Marvin. Ich habe gestern versucht ein download link zu finden aber das war nicht gelungen. Nur die letzte version.

it's_me
25.02.2009, 13:51
Hi,

ich möchte mich an dieser Stelle mal mit einklinken, wenn es erlaubt sei. Ich hatte in einem anderen thread schon mal ein Problem mit der "AsuroLib-v280rc1.zip" geschildert, aber leider keine Antwort bekommen:

1. Problem:
Ich habe mir von Sourceforge die aktuelle lib geholt "AsuroLib-v280rc1.zip" und in ein eigenes Verzeichnis entpackt, anschließend das makefile in AsuroLib/lib angepaßt. Im makefile in examples/firsttry habe ich die relative Pfadangabe ersetzt durch "LIBPATH = C:/Asuro/AsuroLib/lib". Wenn ich aber bei CFLAGS den Paramater "-I ../../lib/inc" lösche, wie es in InstAsuroLib.txt steht, dann geht gar nichts mehr. Lasse ich CFLAGS so wie es ist, dann werden Programme anstandslos übersetzt.

2. Problem:
Nachdem ich myasuro.h angepaßt habe lasse ich gebe ich in "AsuroLib/lib" make all an und erhalte folgende Fehlermeldung:
my_motor_low.c: In function 'MyMotorSpeed':
my_motor_low.c:87: error: 'MY_MOTOR_DIFF' undeclared (first use in this function)
my_motor_low.c:87: error: (Each undeclared identifier is reported only once
my_motor_low.c:87: error: for each function it appears in.)
make: *** [my_motor_low.o] Error 1


vielleicht doch einer eine Idee dazu?

Danke und Grüße

det

m.a.r.v.i.n
25.02.2009, 16:21
1. Problem:
Ich habe mir von Sourceforge die aktuelle lib geholt "AsuroLib-v280rc1.zip" und in ein eigenes Verzeichnis entpackt, anschließend das makefile in AsuroLib/lib angepaßt. Im makefile in examples/firsttry habe ich die relative Pfadangabe ersetzt durch "LIBPATH = C:/Asuro/AsuroLib/lib". Wenn ich aber bei CFLAGS den Paramater "-I ../../lib/inc" lösche, wie es in InstAsuroLib.txt steht, dann geht gar nichts mehr. Lasse ich CFLAGS so wie es ist, dann werden Programme anstandslos übersetzt.

In welcher Installations Datei steht das denn? In den CFLAGS muß nichts gelöscht werden! Lediglich der LIBPATH muß angepaßt werden.


2. Problem:
Nachdem ich myasuro.h angepaßt habe lasse ich gebe ich in "AsuroLib/lib" make all an und erhalte folgende Fehlermeldung:
my_motor_low.c: In function 'MyMotorSpeed':
my_motor_low.c:87: error: 'MY_MOTOR_DIFF' undeclared (first use in this function)
my_motor_low.c:87: error: (Each undeclared identifier is reported only once
my_motor_low.c:87: error: for each function it appears in.)
make: *** [my_motor_low.o] Error 1
det
Das kann ich nicht nachvollziehen. Wird bei mir ohne Fehler übersetzt. Da hast du wohl in der myasuro.h irgendwas falsch gemacht.
So sollte es z.B. aussehen:


#define MY_MOTOR_DIFF 20

it's_me
25.02.2009, 16:55
Hi Marvin,

Danke für die Antwort. Die Doku steht hier (https://www.roboternetz.de/phpBB2/viewtopic.php?p=306481), und da Du darauf geantwortet hast "@sternthaler Hallo Christof, melde mich aus dem Urlaub zurück. Tolle Doku. " dachte ich mir, muß wohl ok sein.

Das Problem mit myasuro.h ist jetzt auch klar. In myasuro.h aus "ASSensorenV205.zip" steht
#define MY_MOTOR_DIFF_VALUE und nachdem ich "_VALUE" gelöscht habe, war auch alles ok.

Danke für die Hilfe.

Grüße

det