"undefined reference to `sqrt'" ??
-
Hallo, ich habe eine Funktion zur Primberechnung (s.u.),
jedesmal, wenn ich nach dem Compilieren linken will (OS: Ubuntu),
bekomme ich folgende Fehlermeldung:/tmp/ccrIDujD.o: In function `isPrime': prim.c:(.text+0x23e): undefined reference to `sqrt' collect2: ld returned 1 exit status
was ist da los? warum berechnet er das sqrt nicht?!?
danke...short isPrime(long p) { long s, d; s = (long) sqrt(p) + 1; if ( p < 2 ) return 0; if ( p == 2 ) return 1; if ( p % 2 == 0 ) return 0; for ( d = 3; d <= s; d+=2 ) if ( p % d == 0 ) return 0; return 1; }
-
-lm
-
Wie ist denn der Compiler-Aufruf?
Sicherlich includest Du die <math.h> in Deinem SourceFile. Allerdings braucht der Compiler für die mathematischen Funktionen noch die entsprechende Library, die Du durch ein simples "-lm" am Ende des Compileraufrufes mit einbindest.
Das könnte dann so ähnlich aussehen: "gcc -o mathe mathe.c -lm"
-
MFK schrieb:
-lm
Verausgabe Dich nicht! :p