PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Projekt erstellen



benny0183
18.05.2009, 12:50
Hallo, ich habe mir den Asuro bausatz gekauft und versuche nun mein erstes Projekt mit dem AVR Studio zu erstellen und habe folgenden Fehler:

C:\ASURO_SRC\test\default/../test.c:5: undefined reference to `Init'
C:\ASURO_SRC\test\default/../test.c:6: undefined reference to `MotorDir'
C:\ASURO_SRC\test\default/../test.c:7: undefined reference to `MotorSpeed'
make: *** [test.elf] Error 1
Build failed with 3 errors and 10 warnings...



#include "asuro.h"
int main () {
do {
Init ();
MotorDir (FWD,FWD);
MotorSpeed (255, 255);
} while (1);
return 0;
}


Ich vermute das die asuro.c Datei nicht eingebunden ist. Weiß aber nicht genau wie ich das machen muss.

Habe die libasuro.a Datei nach C:\WinAVR\avr\lib verschoben und die C:\ASURO_SRC\AsuroLib\lib make-lib.bat ausgeführt, da jedoch weiß ich nicht ob es erfolgreich war.
Beim Compellieren wird die asuro.h Datei und andere automatisch hinzugefügt.

radbruch
18.05.2009, 13:28
Hallo

Willkommen im RN-Forum und Glückwunsch zum asuro :)

Mit den Makefiles kenne ich mich auch nicht aus. Möglicherweise hilft es schon, wenn du die Dateien asuro.h und asuro.c in das selbe Verzeichniss kopierst in dem sich der Quellcode deines Programms befindet. Wenn sich die Dateien im CGG/WinAVR-Pfad befinden sollte der Dateiname beim includen in spitzen Klammern stehen (#include <asuro.h>). Das funktioniert so z.B. bei den Standartlibraries, allerdings nur wenn der AVR-Pfad auch richtig eingetragen ist (path-Variable) und die Verzeichnissnamen keine Leer- oder Sonderzeichen enthalten.

Gruß

mic

benny0183
18.05.2009, 13:48
Wenn sich die Dateien im CGG/WinAVR-Pfad befinden sollte der Dateiname beim includen in spitzen Klammern stehen (#include <asuro.h>). Das funktioniert so z.B. bei den Standartlibraries, allerdings nur wenn der AVR-Pfad auch richtig eingetragen ist (path-Variable) und die Verzeichnissnamen keine Leer- oder Sonderzeichen enthalten.

Gruß

mic
Danke erstmal für die schnelle Hilfe,
habe vergessen die libasuro.a einzubinden. Bekomme jetzt aber folgenden Fehler:
d:/win avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: cannot find -l\libasuro