Hallo, ich benutze Linux 12.04 und Geany für die Codierung. Der Code, den ich in C schreibe, funktionierte völlig in Ordnung, bis ich den Befehl sqrtf benutzte, um die Quadratwurzel eines Floats zu finden. Fehler: HAC3.c :(. Text + 0xfd7): undefinierter Verweis auf `sqrtf '.sqrtf undefinierter Verweis auf `sqrtf 'in c
Der Teil des Codes i sqrtf bin mit:
float syn(float *a, float *b, int dimensions)
{
float similarity=0;
float sumup=0;
float sumdown=0;
float as=0;
float bs=0;
int i;
for(i=0; i<dimensions; i++)
{
sumup = sumup + a[i] * b[i];
as = as + a[i] * a[i];
bs = bs + b[i] * b[i];
}
sumdown = sqrtf(as) * sqrtf(bs);
similarity = sumup/sumdown;
return similarity;
}
I der math.h aber dies scheint nicht das Problem zu sein. Also frage ich mich, gibt es einen Weg, Geany zu reparieren, so wird dies nicht wieder auftauchen? Ich habe wenig Wissen, versuchen Sie es zu erklären, wenn möglich.
sqrtf seit c99. und Linker-Option. zB 'gcc prog.c -std = c99 -lm' – BLUEPIXY
Für zukünftige Referenz: wenn etwas nicht kompiliert/verlinkt: schau dir ** man -k ** an, in deinem Fall ** man - k sqrtf ** ... es wird dir sagen, wie man es benutzt. –
tink
was ist man -k sqrtf? –