Forum: Compiler & IDEs undefined reference to.


von Knecke (Gast)


Lesenswert?

Guten Abend!

Habe mir eben die Servo Libary von 
http://derjulian.net/mikrocontroller#library runtergelden diese in mein 
Projekt eingebunden, aber es funktioniert einfach nicht.

Ich erhalte immer die Fehlermeldung:

Build started 8.9.2007 at 22:22:09
avr-gcc.exe -mmcu=atmega8  main.o lib.o     -o servolib.elf
main.o: In function `main':
../main.c:44: undefined reference to `servo_init'
../main.c:45: undefined reference to `servo_set'
make: *** [servolib.elf] Error 1
Build failed with 2 errors and 0 warnings...


die lib.c ist in mein Projekt mit eingebunden, arbeite mit AVR-Studio 
und einem Atmega8.

Hab schon alles probiert, woran liegt es?

Danke schonma im voraus!

MfG

Knecke

von Karl H. (kbuchegg)


Lesenswert?

Wenn du mal in lib.c hineinschaust und die Funktionen
aufsuchst, dann siehst du, dass diese Funktioen allesamt
mittles

#ifdef SERVOS

gekapselt sind.

Wenn die Funktionen also nicht vorhanden sind, dann liegt
es daran, dass es kein Symbol 'SERVOS' gibt und der Compiler
daher diese Funktionen auch nicht mitcompiliert hat.

Die Frage ist daher, warum ist das Macro SERVOS nicht definiert?
Dazu oeffne man mal das File config.h. Wenn man da ein bischen
durchscrollt, dann fällt einem auch die Zeile

//#define SERVOS

ins Auge. Und auch das Kommentarzeichen vor dem #define

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.