对'sqrt'的未定义引用

时间:2012-01-08 19:39:58

标签: c nan sqrt

我的程序的一部分是计算浮点数的sqrt。 当我写sqrt(1.0f);时,我成功编译了程序,但是当我写sqrt(-1.0f);时 编译失败了undefined reference to 'sqrt' - 我想在这种情况下会返回nan值... 我用gcc编译程序。 当我使用visual studio编译它时,它会成功地编译为sqrt的负参数。 如何解决问题 谢谢

2 个答案:

答案 0 :(得分:5)

您必须在大多数基于Unix的系统上添加-lm标志,如:

使用编译:

gcc -c file.c

然后使用以下链接:

gcc -o program file.o -lm

或者如果您不想分开两个编译步骤,只需写下:

gcc -o program file.c -lm

答案 1 :(得分:4)

-lm关联以与数学库链接