Funktion in anderer Datei aufrufen

Ozzy Ozborn

Erfahrenes Mitglied
Hi,

ich habe ein kleines Problem: und zwar habe ich eine Klasse, aus der ich eine Funktion aus einer anderen Datei aufrufen möchte, was mir aber einfach nicht gelingen möchte...
Die Klasse habe ich selber geschrieben (OnOff), die Funktion stammt aus einer Funktion, die Zufallszahlen generiert (LIBRAN.C).
Als Umgebung benutze ich KDevelop, für libran habe ich ein Unterverzeichnis angelegt, und die libran.h includet.
Wenn ich jetzt eine Funktion aufrufen möchte (z.B. setall(seed1, seed2) ), bekomme ich nur die Fehlermeldung undefined reference to 'setall(long, long)'

Wisst Ihr vielleicht, woran das liegt?

MfG, und vielen Dank schon einmal im Voraus, Ozzy

P.S.: in der includeten Datei ranlib.h sind alle Funktionen als extern deklariert...
 
Zuletzt bearbeitet:
Hallo!


Könnte es eben an dem Unterverzeichnis liegen? Also hast du den absoluten Pfad angegeben? Was anderes fällt mir so auf die Schnelle nicht ein!


Gruß Buba
 
Hi,

kann ich mir kaum vorstellen, denn mit dem includen hat er ja auch kein Problem. Erst, wenn ich den Pfad davor schreibe, geht nichts mehr...

MfG, Ozzy
 
Hi.

Die externen Funktionen müssen letztendlich beim Linken verfügbar sein. Du hast vergessen eine Bibliothek oder Objekt-Datei einzubinden. D.h. du müßtest die ranlib.c zu einer .o Datei kompilieren oder daraus eine statische bzw. dynamische Bibliothek erstellen und diese dann zu deinem Programm hinzulinken.

Gruß
 
Danke für Eure Antworten, doch daran lag es nicht. Woran es genau lag, weiß ich nicht. Ich habe die Dateien verschoben, und an der alten Stelle neue angelegt, und dann mit copy&paste eingefügt, und nun geht alles... Strange...

Trotzdem vielen Dank für Eure Hilfe, MfG, Ozzy
 
Danke für Eure Antworten, doch daran lag es nicht. Woran es genau lag, weiß ich nicht. Ich habe die Dateien verschoben, und an der alten Stelle neue angelegt, und dann mit copy&paste eingefügt, und nun geht alles... Strange...
Dann hat KDevelop diese Dateien sicherlich mit ins Projekt aufgenommen, dementsprechend auch kompiliert und zum Programm hinzugelinkt...

Gruß
 
Zurück