Ich mache eine benutzerdefinierte Funktion innerhalb meines Programms und wenn ich versuche zu verwenden die pow
Funktion, der Compiler gibt mir einen Fehler und sagt, dass es eine undefined reference to pow()
gibt. Ich habe ähnliche Probleme gesehen und die Lösung war, -lm
hinzuzufügen, wenn ich kompiliere. Ich habe das gemacht und doch hat es immer noch das Problem. Es ist nur auf meinen benutzerdefinierten Funktionen passiert, weil es vorher funktionierte, als ich gerade die pow
in die main
Funktion meines Codes setzte. Es funktioniert auch, wenn der Exponent 2
statt 0.5
ist. Danke für deine Hilfe.Wenn ich versuche, meinen Code zu kompilieren, erhalte ich die Fehlermeldung "undefined reference to pow()", auch wenn ich mit '-lm' verknüpfe
#include<math.h>
float standard_deviation (float variance) {
float deviation = 0.0;
deviation = pow(variance, 0.5);
return deviation;
} /* mean */
float standard_error (float standard_deviation, int number_of_elements) {
return standard_deviation/pow(number_of_elements, 0.5);
} /* mean */
Wie erstellen Sie Ihr Programm? Von der Befehlszeile? Wo hast du auf der Kommandozeile '-lm' abgelegt? Da die Reihenfolge wichtig ist, müssen die Bibliotheken nach Quell-/Objektdateien sein. –
Zeigen Sie die (einzelnen) Befehle an, die Sie zum Kompilieren und Verknüpfen verwenden. Besser noch, machen Sie ein vollständig eigenständiges Beispiel, das dieses Problem zeigt. – Evert
@steven Carlisle, was ist dein Compiler? – shafeeq