2

我的程序的一部分是计算sqrt浮点数。当我写sqrt(1.0f);我成功编译程序,但当我写sqrt(-1.0f); 编译失败undefined reference to 'sqrt'- 我想在这种情况下,nan值将被返回......我使用 gcc 编译程序。当我用 Visual Studio 编译它时,它会以 sqrt 的否定参数成功编译。问题怎么解决 谢谢

4

2 回答 2

5

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

编译使用:

gcc -c file.c

然后使用链接:

gcc -o program file.o -lm

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

gcc -o program file.c -lm
于 2012-01-08T19:44:15.730 回答
4

Link with-lm链接到数学库

于 2012-01-08T19:41:22.907 回答