Hi an alle.
Ich versuche eine eigene Header Datei einzubinden, da in mein Programm
viele Funktionen reinkommen und ich somit für einen besseren Überblick
sorgen möchte.
Wenn ich aber mit "make" auf der Console versuche zu kompelieren, dann
bekomme ich die Fehlermeldung: Undefined Reference to 'test'
Wo könnte hier der Fehler liegen?
Im Hauptprogramm binde ich die Datei folgendermaßen ein:
#include "../myheaderfiles/testlib.h"
Und ich habe im Hauptprogramm folgenden Aufruf drin:
test('A');
Die Datei testlib.h sieht wie folgt aus:
#ifndef __TESTLIB_H
#define __TESTLIB_H
void test(char x);
#endif /* TESTLIB_H */
Die Datei testlib.c sieht so aus:
#include "testlib.h"
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <inttypes.h>
#include <stdio.h>
#include "delay.h"
void test(char x) {
// do something
}
Hat jemand eine Idee wo hier der Fehler liegen könnte?
Víelen Dank.
El Nino schrieb: > Hi an alle. > > Ich versuche eine eigene Header Datei einzubinden, da in mein Programm > viele Funktionen reinkommen und ich somit für einen besseren Überblick > sorgen möchte. > > Wenn ich aber mit "make" auf der Console versuche zu kompelieren, dann > bekomme ich die Fehlermeldung: Undefined Reference to 'test' undefined reference ist eine Fehlermeldung vom LInker, der aus den Einzelteilen das endgültige komplette Programm zusammenbaut. Du musst auch testlib.c compilieren und vom Linker zum Programm dazufügen lassen. Sonst fehlt ja die Implementierung dieser Funktion. Und genau das teilt dir der Linker mit. Also: einfach testlib.c mit ins Projekt aufnehmen und schon klappts. http://www.mikrocontroller.net/articles/FAQ#Ich_hab_da_mehrere_.2A.c_und_.2A.h_Dateien._Was_mache_ich_damit.3F
Hi Karl Heinz, danke für deine Antwort und den informativen Link. Das war genau die Lösung für mein Problem. Vielen Dank und noch einen schönen Abend.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.