对'sqrt'的未定义引用

Yak*_*kov 2 c nan sqrt

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

小智 5

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

编译使用:

gcc -c file.c
Run Code Online (Sandbox Code Playgroud)

然后链接使用:

gcc -o program file.o -lm
Run Code Online (Sandbox Code Playgroud)

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

gcc -o program file.c -lm
Run Code Online (Sandbox Code Playgroud)