PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim Kompilieren



Quäse
17.06.2014, 15:16
Guten Tag RoboterNetz,

Beim Versuch Programme jeglicher Art zu Kompilieren spuckt AVR Studio immer diesen Fehler aus:

make: *** Keine Regel vorhanden, um das Target »../../../../ASURO«,
benötigt von »asuro.o«, zu erstellen. Schluss.

Da ich noch komplett neu im Asuro Gebiet bin ist es mir ein Rätsel :confused: .
Nach einigem einlesen habe ich auch die neuste AsuroLIB eingebunden und auch verschiedene Versionen von AVR Studio ausprobiert aber alles hilft scheinbar nichts :( .
Habt ihr eine Idee?

Für eine Antwort wäre ich sehr dankbar.

Mfg

Spacy Bar
19.06.2014, 11:17
Hallo,

Könntest du mal die komplette Fehlermeldung und deinen Quellcode posten? Das könnte das ganze Vereinfachen!

LG
Spacy Bar

Quäse
19.06.2014, 15:47
Habe alles neu installiert und eingerichtet. Der Fehler ist jetzt zwar weg jedoch habe ich jetzt ein anderes Problem.

C:\Users\johnwin7\Desktop\AsuroLib-v280rc2\lib\libasuro.a(switches.o): In function `PollSwitch':
C:\Documents and Settings\1stud\Desktop\code\trunk\AsuroLib\lib/switches.c:106: undefined reference to `__muluhisi3'
make: *** [test.elf] Error 1
Build failed with 1 errors and 0 warnings...

Wie genau kann ich denn die komplette Fehlermeldung sehen?

Edit: Hier mal ein Beispielprogramm das ich versucht hab zu kompilieren. Funktioniert aber bei anderen auch nicht...

Code:
include "asuro.h"

/* Um eventuelle Unterschiede zwischen linken und rechtem Motor auszugleichen
* definieren wir 2 Werte für fullspedd links und rechts
*/
#define FULL_L 250 /* Fullspeed linker Motot */
#define FULL_R 220 /* Fullspeed rechter Motor */

/* Motor vorwärts */
void MotorFwd(void)
{
MotorDir(FWD,FWD);
MotorSpeed(FULL_L,FULL_R);
}

/* Motor rückwärts */
void MotorRwd(void)
{
MotorDir(RWD,RWD);
MotorSpeed(FULL_L,FULL_R);
}

/* Motor rückwärts Links */
void MotorRwdL(void)
{
MotorDir(RWD,RWD);
MotorSpeed(FULL_L,0);
}

/* Motor rückwärts Rechts */
void MotorRwdR(void)
{
MotorDir(RWD,RWD);
MotorSpeed(0, FULL_R);
}

/* Motor stop */
void MotorStop(void)
{
MotorSpeed(0,0);
}

int main(void)
{
unsigned char t1, t2;

Init();
while(1)
{
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 == 0 && t2 == 0) /* keine Taste */
{
MotorFwd(); /* vorwärts fahren */
FrontLED(ON);
BackLED(OFF,OFF);
}
else if (t1 && t2 && t1 == t2)
{
MotorStop();
if(t1 & 0x07) /* Tasten links gedrückt? */
{
MotorRwdL(); /* Rückwärtskurve links fahren */
FrontLED(OFF);
BackLED(ON,OFF);
}
if (t1 & 0x38) /* Tasten rechts gedrückt? */
{
MotorRwdR(); /* Rückwärtskurve rechts fahren */
FrontLED(OFF);
BackLED(OFF,ON);
}
Msleep(1000); /* 1 Sekunde fahren */
}
}
return 0;
}

Danke für die Hilfe.

Spacy Bar
19.06.2014, 20:05
Wie genau kann ich denn die komplette Fehlermeldung sehen?


Dazu musst du im Fenster unten wo die Meldung steht den Balken hoch und runterbewegen.

Zum Quellcode: am besten if(PollSwitch()==0) dann ruft die if-Verzweigung die Funktion selbst auf, das geht besser

LG
Spacy Bar

Quäse
20.06.2014, 19:47
Wenn ich if(PollSwitch()==0) benutze bekomme ich den gleichen Fehler :( .
Hier nochmal alles was in der Fehlermeldung steht:


Build started 20.6.2014 at 19:43:12
avr-gcc.exe -I"C:\Users\johnwin7\Desktop\test\..\AsuroLib-v280rc2\lib\inc" -mmcu=atmega8 -Wall -gdwarf-2 -DF_CPU=8000000UL -O0 -fsigned-char -MD -MP -MT test.o -MF dep/test.o.d -c ../test.c
avr-gcc.exe -mmcu=atmega8 test.o asuro.o -L"C:\Users\johnwin7\Desktop\AsuroLib-v280rc2\lib" -lasuro -o test.elf
C:\Users\johnwin7\Desktop\AsuroLib-v280rc2\lib\libasuro.a(switches.o): In function `PollSwitch':
C:\Documents and Settings\1stud\Desktop\code\trunk\AsuroLib\lib/switches.c:106: undefined reference to `__muluhisi3'
make: *** [test.elf] Error 1
Build failed with 1 errors and 0 warnings...


Scheinbar funktioniert alles nur die Taster nich.

Spacy Bar
20.06.2014, 21:33
Ich habe selbst keine Lösung, nur eine Diagnose, die aus der Fehlermeldung hervorgeht: der Compiler erkennt offenbar den Befehl "_muluhisi3" nicht. Was das jetzt genau bedeutet weiß ich auch nicht...

Wsk8
21.06.2014, 01:24
http://www.mikrocontroller.net/topic/311226

mfg

Spacy Bar
21.06.2014, 23:10
Dem Thread von Wsk8 zufolge liegt es ja an deiner Compiler-Version, aber du könntest mal probieren Zeile 106 von C:\Documents and Settings\1stud\Desktop\code\trunk\AsuroLib\lib/switches.c auszukommentieren. Eine dauerhafte Lösung ist das definitiv nicht, aber könnte kurzweilig helfen. Wenn´s dann trotzdem nicht funktioniert, oder zu noch mehr Errors führt, kannst du es ja einfach wieder `reinschreiben.

LG
Spacy Bar

Valen
24.06.2014, 14:35
Die Compiler/WinAVR toolchain hat oft auch problemen mit Leerzeichen in Pfaden. ("Documents and Settings") Ich sehe du hat dein Projekten auf dein Desktop stehen. Kannst du das mal versuchen in ein selbst gewählte Ordner zu speichern. Und den Lib Pfaden dann auch anpassen in dem makefile. Weil das oft die Ursache von den erste Error-meldung sein kann ( "Keine Regel vorhanden, um das Target" ... / "No rule to make target")