在 C 中使用 sqrtf():“未定义对‘sqrtf’的引用”

2024-05-07

我正在使用Linux,Ubuntu 12.04 https://en.wikipedia.org/wiki/Ubuntu_version_history#Ubuntu_12.04_LTS_.28Precise_Pangolin.29(Precise Pangolin)和 Geany 进行编码。我用 C 编写的代码工作得很好,直到我使用 sqrtf 命令来查找浮点数的平方根。

错误:HAC3.c:(.text+0xfd7):对 `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,这样就不会再出现这种情况了?


Go to Build -> Set Build Commands然后在C commands单击空标签,它会让您指定一个新标签(将其命名为Link)。输入gcc -Wall -o "%e" "%f" -lm- 在哪里-lm会告诉它链接math库到您的应用程序。点击OK.

然后点击Build并选择您新创建的标签 -Link。这应该适合你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C 中使用 sqrtf():“未定义对‘sqrtf’的引用” 的相关文章

随机推荐