我的程序的一部分是计算sqrt
的浮点数。 当我写sqrt(1.0f);
我成功编译程序,但是当我写sqrt(-1.0f);
编译失败与undefined reference to 'sqrt'
- 我想,在这种情况下,nan
值将返回...... 我编译程序uing GCC。 当我用visual studio编译它时,它会被成功编译并带有负面的参数给sqrt。 怎样的问题可以解决 谢谢未定义引用`sqrt'
2
A
回答
5
您必须添加在大多数基于Unix的系统的-lm
标志,如:
编译使用:
gcc -c file.c
然后链接使用:
gcc -o program file.o -lm
或者,如果你不想分开的两个编译步骤,简单的写:
gcc -o program file.c -lm
4
与-lm
链路与数学库链接
+0
你能否给出一个理由。我试着在头文件中包含
相关问题
- 1. 未定义的引用sqrt(geany)
- 2. main.c :(。text + 0x170):未定义引用`sqrt'(已使用-lm)
- 3. 未定义的引用的sqrt(或其他数学函数)
- 4. 在Y3 6.1和Cell SDK 3.1的PS3上从math.h未定义对'sqrt'的引用?
- 5. 未定义引用`gsl_linalg_complex_LU_decomp_'
- 6. 未定义的引用get_mysql_instance
- 7. 未定义的引用yywrap
- 8. 未定义的引用vtable
- 9. Gccv5.4未定义引用`__normal___udivdi3'
- 10. 未定义引用'cv :: findHomography
- 11. 未定义的property_get引用
- 12. 未定义引用`geten_'
- 13. 未定义的引用'yylex()'
- 14. 未定义的引用impl
- 15. 未定义的引用'pthread_key_create'
- 16. 未定义引用`日志'
- 17. 未定义的引用'crypt'
- 18. 未定义的引用
- 19. 未定义的引用`xlCreateBookCA'C++
- 20. 未定义的引用GetMonitorColorTemperature
- 21. 未定义的引用'ff_put_pixels_clamped_mmx'
- 22. 未定义引用'readline'
- 23. 未定义引用curl
- 24. 未定义的引用'readline'
- 25. 未定义的Python引用++
- 26. 未定义的引用'PQconnectdb'
- 27. Android NDK:未定义引用''
- 28. 未定义的引用libdc1394
- 29. 未定义的引用'u_fopen_48'
- 30. OpenCv未定义引用`cv ::
的gcc -o myprog.c中-lm MYPROG的-l以包括数学库-lm库米。 – 2012-01-08 19:41:38