Compiler Fehler?

S

sam112

Hallo zusammen!

Ich versuche ein kleines Programm zum Laufen zu bringen, trotz einer langen Fehlerdiagnose wird mir folgendes ausgegeben:

RegulaF.o: In function `NullStelleRekursiv(double, double)':
RegulaF.C: (.text+0x97): undefined reference to `f(double)'
RegulaF.C: (.text+0xa5): undefined reference to `f(double)'
RegulaF.C: (.text+0x109): undefined reference to `f(double)'
RegulaF.o: In function `NullStelleIterativ(double, double)':
RegulaF.C: (.text+0x195): undefined reference to `f(double)'
RegulaF.C: (.text+0x1a3): undefined reference to `f(double)'
RegulaF.o:RegulaF.C: (.text+0x20b): more undefined references to `f(double)' follow
collect2: ld returned 1 exit status
l11p32: 4Polynom % cd '/fibus/fs3/0d/ssmh0644/InfoU/4Polynom'

Kennt jemand diese Art Fehler und kann mir einen Tip geben ebend solchen zu beheben?

Vielen Dank im Vorraus
 
Versuche es mal mit der CompilerOption '-lm'.

Heißt so viel wie linke gegen mathlib.

Gruß
Psyjo
 
Versuche es mal mit der CompilerOption '-lm'.
Heißt so viel wie linke gegen mathlib.
Das wird nichts helfen: Die Funktion f(double) ist bestimmt nicht in libm definiert.

@sam112:
In der Funktion "NullStelleRekursiv" wird die Funktion 'f' benutzt. Diese ist in einer header-Datei deklariert, sonst wuerde sich der Compiler beschweren. In Deinem Fall ("undefined reference") ist es ein Linker-Fehler. D.h., in all den Dateien, die dem Linker uebergeben werden, befindet sich keine Funktion 'f(double)'.

Entweder ist die Funktion nirgends definiert (im Gegensatz zu 'deklariert'), oder in der Kommandozeile hast Du vergessen, die entsprechende Datei mitanzugeben.

Gibt hier doch mal an, wie Du die Dateien kompilierst, dann koennen wir dem Fehler besser auf die Spur kommen.
 
Gibt hier doch mal an, wie Du die Dateien kompilierst, dann koennen wir dem Fehler besser auf die Spur kommen.

g++ -o main.C RegulaF.o Polynom.o

des wars, außerdem gehört noch jeweils die Header Datei zu den letzten beiden dazu.
also vielen Dank soweit, ich werde in Kürze feststellen, ob es funzt oder net! :)
 
Zuletzt bearbeitet von einem Moderator:
g++ -o main.C RegulaF.o Polynom.o
Dann ist anzunehmen, dass in einer der header-Dateien 'f(double)' deklariert ist. Zusaetzlich muss sie jedoch definiert sein, damit der Compiler auch etwas mit ihr berechnen kann, und das findet vermutlich nicht statt.
 

Ähnliche Themen

Raspberry Pi custom Kernel

Funktion nicht gefunden

Linker meckert über nicht definierte Funktion

Problem beim Kompilieren (Redhat 5)

Schwierigkeiten beim compillieren

Zurück
Oben