Bug bei Mfile?

Gast #827898
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
Angehängte Dateien:
(Firma: HEG) #4307078
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?
#4307387
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.