Tag: libm

为什么我得到“未定义的引用sqrt”错误,即使我包含math.h头?

我对C很新,我有这样的代码: #include <stdio.h> #include <math.h> int main(void) { double x = 0.5; double result = sqrt(x); printf("The square root of %lf is %lf\n", x, result); return 0; } 但是,当我编译这个: gcc test.c -o test 我得到这样的错误: /tmp/cc58XvyX.o: In function `main': test.c:(.text+0x2f): undefined reference to `sqrt' collect2: ld returned 1 exit status 为什么会发生? sqrt()不在math.h头文件中? 我得到与cosh和其他三angular函数相同的错误。 为什么?