我的程序的一部分是计算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)