undefined reference

Gast #1190601
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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").
Lesenswert?
• ▲
▼
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???
Gast
Lesenswert?
• ▲
▼
>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
Gast
Lesenswert?
• ▲
▼
>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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.