Hallo zusammen, bin ziemlich am verzweifeln im Moment, ich hoffe mir kann jemand bei dem folgenden Problem helfen. Und zwar habe ich mir ein Beispiel Projekt runtergeladen zu einem Nanoloc-board. Danach hab ich mir ein neues Projekt in AVR_Studio angelegt, alle *.h Dateien eingbunden. Leider bekomme ich jetzt sehr viele Fehlermeldungen bezüglich undefined reference von Funktionen. (main.o(.text+0x42):../main.c:90: undefined reference to `console_init') Jedoch kann ich nicht verstehen warum er die nicht findet, das müsste alles passen. Ich hab jetzt schon gelesen, dass das mit dem makefile zusammen hängt. Leider hab ich kein "original" makefile, jedoch sollte nach meinem Verständnis das doch automatisch bei AVR_Studio gebildet werden. Kann ich da irgendwelche Pfade noch "zu Fuß" einfügen? main.o(.text+0x42):../main.c:90: undefined reference to `console_init' Wär wirklich sehr nett, wenn mir einer helfen könnte. Das Problem haben bestimmt schon mehrere gehabt. Danke
Zu den meisten nicht systemeigenen Headerdateien gehört auch eine (gleichnamige) .c-Datei, die dem Makefile hinzugefügt werden muss! Das Makefile macht AVRStudio zwar automatisch, aber die Einstellungen musst Du selber vornehmen. Dazu gehört auch, dass alle Quelldateien dem Projekt hinzugefügt werden müssen (über den Punkt "Source Files" im "Projektbaum").
Hallo, macht AVR-Studio mit GCC eigentlich automatisch, wenn man sowohl die .h als auch die .c Dateien dem Projekt hinzugefügt hat. PS. ich war zu langsam... ;-( Gruß aus Berlin Michael
Vielen Dank, mit dem Einbinden der *.c - Files hat es geklappt! Jetzt nur noch die anderen Fehler beseitigen:-)
hallo. ich stehe auch grad vor einem "undefined reference" problem: (ich nutze das AVR-Studio 4.13 und WinAVR) ... void appEndDeviceTaskHandler(void) { batmonReq.voltage = RF_1V85_BAT_VTG;// setze Schwellwert auf 1,85V batmonReq.RF_BatteryMonConf = RF_BatteryMonConf;// Confirm-Handler-Aufruf RF_BatteryMonReq(&batmonReq); ... } mein problem: die funktion "RF_BatteryMonReq(&batmonReq);" die dazu dient die werte zu setzen und bei erfolg den confirm-handler aufzurufen bringt mir den fehler: D:\Meshnetics Version 2.3.0\ZDK_Complete\Sample Applications\kranhaken/kranenddevice.c:33: undefined reference to `RF_BatteryMonReq' make: *** [link] Error 1 Build failed with 1 errors and 0 warnings... die funktionen sind in der header rfBattery.h deklariert die ich auch in mein projekt eingebunden habe.die libs stehen auch alle in meinem makefile! woran könnte es also liegen das der fehler auftritt???
Es gibt nur 2 Möglichkeiten * entweder du hast einen Tippfehler irgendwo im Namen (Aufruf mit Header File mit Source Code File in der die Funktion enthalten ist vergleichen) * oder du hast eben nicht alles zu deinem Projekt hinzugefügt
>die libs stehen auch alle in meinem makefile!
Hast du das Studio auf externes makefile umgestellt?
In der Default-Einstellung nutzt das Studio sein eigenes makefile, und
kümmert sich nicht darum, was in deinem makefile steht. Da müsstest du
die libs in den Projektoptionen hinzufügen.
Oliver
@ Karl heinz Buchegger: einen Tippfehler kann ich auf jedenfall ausschließen.hab alles in ruhe durchgeschaut und keinen gefunden. @Oliver: ja ich nutze ein externes makefile. bin gerade echt ratlos!? :(
>ja ich nutze ein externes makefile.
Na, dann zeigs doch mal. Und schreib dazu, in welchen Pfaden deine libs
zu finden sind.
Oder trag deine libpfade und libs in den Projektoptionen ein, und lass
das Studio das makefile erstellen.
Oliver
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.