【发布时间】:2013-06-03 04:53:40
【问题描述】:
我正在使用 Linux、Ubuntu 12.04(Precise Pangolin)和 Geany 进行编码。在我使用 sqrtf 命令找到浮点数的平方根之前,我用 C 编写的代码运行良好。
错误:HAC3.c:(.text+0xfd7): undefined reference to `sqrtf'。
我使用 sqrtf() 的部分代码:
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;
}
我包含了 math.h,但这似乎不是问题。
有没有办法修复 Geany,这样就不会再出现这种情况了?
【问题讨论】:
-
sqrtf 自 c99.和链接器选项。例如
gcc prog.c -std=c99 -lm -
供将来参考:如果某些内容无法编译/链接:请查看 man -k
,在您的情况下 man -k sqrtf ...它会告诉你如何使用它。 -
什么是man -k sqrtf?
-
man -k 是更简洁的 apropos 形式。你肯定不是在问什么是手册页,对吧?