Forum: Compiler & IDEs Bug bei Mfile?


von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
kann es sein das Mfile zustätzliche .c Dateien nicht richtig einbindet? 
(Zeile 83) Weil das erste Makefile läuft so nicht auch wenn man die 
Punkte weg macht. Das 2. dagegen schon. (uart.c liegt im selben 
Verzeichniss) Ist das ein Bug von Mfile oder habe ich was falsch 
gemacht? Ich kenne mich leider in Sachen Makefile sogut wie nicht aus.
Gruß
Peter

von Daniel N. (Gast)


Lesenswert?

Vermutlich liegt es einfach an dem Leerzeichen in deinem Pfad.
Er wird wohl irgendwie Versuchen D:/Eigene zu öffnen.
Setz den Pfad doch mal in Anführungszeichen.

Grüße,
Daniel

von Carlo B. (Firma: HEG) (carloheg)


Lesenswert?

Ich habe ein kleines Problem mit der Einbindung der RobotArmBaseLib.h 
unter WinAVR-20090313.
Obwohl es ist ein Beispielprogramm aus dem Manuel, funktioniert Trotzdem 
nicht und das Compiler spuckt was raus!!
Mein Quellcode:

#include "RobotArmBaseLib.h"


int main(void)
{
  initRobotBase(); // Always call this first! The Processor will not 
work
           // correctly otherwise.

  while(true)
  {

    // ---------------------------------------
    // Led and Beeper:

    changeBeepsound(250);  // Change beepsound
    setBeepsound();      // Beeper on
    setLEDs(0b1001);    // Set LEDs
    mSleep(500);       // delay 500ms = 0.5s

    changeBeepsound(200);  // Change beepsound
    setLEDs(0b0110);    //
    mSleep(500);       // delay 500ms = 0.5s

    changeBeepsound(100);  // Change beepsound
    setLEDs(0b1111);    //
    mSleep(500);       // delay 500ms = 0.5s

    setLEDs(0b0000);
    clearBeepsound();    // Beeper off
    mSleep(1000);       // delay 500ms = 0.5s


  }

  return 0;
}

Mein neuer Fehler:

C:\Users\Admin\Desktop\PROPRO/ledblink.c:7: undefined reference to 
`initRobotBase'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:16: undefined reference to 
`changeBeepsound'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:17: undefined reference to 
`setBeepsound'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:18: undefined reference to 
`setLEDs'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:19: undefined reference to 
`mSleep'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:21: undefined reference to 
`changeBeepsound'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:22: undefined reference to 
`setLEDs'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:23: undefined reference to 
`mSleep'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:25: undefined reference to 
`changeBeepsound'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:26: undefined reference to 
`setLEDs'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:27: undefined reference to 
`mSleep'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:29: undefined reference to 
`setLEDs'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:30: undefined reference to 
`clearBeepsound'
C:\Users\Admin\Desktop\PROPRO/ledblink.c:31: undefined reference to 
`mSleep'

Habe bis jetzt unter winAvr Programmer's Notepad mit Atmega64 zu tun 
gehabt und da nur mit den Standart Libs avr/io.h usw.

Der Fehler heißt doch das er die Befehle aus der RobotArmBaseLib nicht 
einbindet. bzw nicht kennt.

hat Jemand eine Lösung?

von Karl H. (kbuchegg)


Lesenswert?

Carlo B. schrieb:
> Ich habe ein kleines Problem mit der Einbindung der RobotArmBaseLib.h
> unter WinAVR-20090313.

ein Header File alleine ist nur die halbe Miete.

Zu deinem Header File 'RobotArmBaseLib.h' wird es wohl noch ein 
gleichnamiges(?) C File geben, in dem die Implementierungen der 
Funktionen enthalten sind.

Denn genau das sagt dir dein Compiler bzw. eigentlich der Linker

> C:\Users\Admin\Desktop\PROPRO/ledblink.c:7: undefined reference to
> `initRobotBase'

"Ist ja schön und gut, dass du eine Funktion namens 'initRobotBase' 
aufrufen willst. Aber bitte schön, wo ist denn diese Funktion? Ich hab 
den Code nicht gesehen, der hinter dieser Funktion steckt."

Selbiges für alle anderen Funktionen. 'undefined reference' bedeutet 
umgangssprachelich in etwa: "Du hast mir versprochen, dass es diese 
Funktion/Variable irgendwo geben würde. Nur bitte, wo ist sie denn 
jetzt?"

und bitte mach deinen eigenen Thrad auf. Deine Frage hat 0 (in Worten: 
null, nix, niente, nada, ...) mit der Ursprungsfrage zu tun.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.