Eclipse findet Funktionen nicht

Gast #5394035
Lesenswert?

Hallo,

Ich arbeite mit der System Workbench for STM32 (basierend auf Eclipse).
Ich habe in einem neuen Projekt eine neue Funktion implementiert und 
getestet. Danach habe ich alles wichtige aus dem neuen Projekt in mein 
Hauptprojekt geladen um es dort zu verwenden.
Beim builden kommt aber jetzt die Fehlermeldung "undefined reference to 
...".
Wenn ich die betreffenden Funktionen anklicke und auf "Open Declaration" 
klicke öffnet sich die richtige Datei an der richtige Stelle.
Gast #5394069
Lesenswert?

Und wirklich keines der 16 Millionen Google-Ergebnisse zu diesem Problem 
hat dir geholfen? Auch nicht die unzähligen Beiträge im hiesigen Forum? 
Man muss nicht bei jedem einzelnen Auftreten eines extrem häufigen 
Standard-Problems im Forum nachfragen, und darf durchaus selbst 
recherchieren.
Angehängte Dateien:
Gast #5394343
Lesenswert?

Schwer zu glauben. So ziemlich jeder C Programmierer stolpert da einmal 
pro Woche drüber. Das Thema wurde schon Tausend Mal tot diskutiert. Da 
müsste sich irgendwo ein Hinweis finden lassen.
Gast #5394374
Lesenswert?

Fand doch mal damit an herauszufinden, was "undefined reference to" 
bedeutet und unter was für Umständen es auftritt. Dann kannst du 
rückwärts schlussfolgern was bei dir die Ursache ist. Einfach 
irgendwelche "Lösungen" auszuprobieren klappt selten.
Gast #5394405
Lesenswert?

rowtag schrieb:
> "undefined reference to"  heißt das das Programm nicht weiß wo die
> Funktion steht, richtig?

Nein. Es besagt, dass in keiner der gelinkten .o Dateien und 
Bibliotheken die fragliche Funktion oder Variable definiert ist. Da die 
.o Dateien aus deinen .c Dateien kommen, bedeutet dass dass in keiner 
der .c Dateien die Funktion definiert ist. Es fehlt also die Definition 
ganz, oder die fragliche .c Datei wird nicht kompiliert, oder die daraus 
entstehende .o Datei wird nicht mit gelinkt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren