今天,在编译一段代码时,出现错误 “undefined reference to cos” 但是,该文件已经包含了math.h头文件,错误原因主要是没有定义“cos”函数,或者说没有找到“cos”函数的实现,虽然我们在函数开头声明了数学函数库,但还是没有找到cos的实现,这时我们就需要指定sin函数的具体路径了。 系统一些默认库的位置在/lib/下面...
在使用“ - l”参数时,通常的习惯是出去“lib”函数库头和后面的版本号,使用真名和参数“-l”连接,形成“- lm”。于是,我们需要在gcc找不到库时,可是使用“-l”直接给定库名,输入如下: [root@lyb root]# gcc –o 1-6 1-6.c -lm 就可以正确编译了! 转自:http://blog.sina.com.cn/s/blog_643d...
当使用gcc编译器编译含数学函数的C程序时,会出现undefined reference to `sin'等错误.这种错误一般是由于缺少库造成的. (base) xiao@xiao-Inspiron-7590:~/Desktop/SDK_2.4.1/test/test0$ gcc get_distance.c -o get_distance /usr/bin/ld: /tmp/ccP8GXmr.o:infunction`hav':get_distance.c:(.text+0x...
linux下解决c语⾔undefinedreferencetosin,cos等数学库函数#include <stdio.h> #include <stdlib.h> #include <math.h> #define PI 3.1415926 #define EARTH_RADIUS 6371393 double deg_to_rad(double deg) { return deg / 180 * PI;} double hav(double theta) { double s = sin(theta / 2);return...
cos的三个函数原型如下:double cos ( double x );float cos ( float x );long double cos ( long double x );不接受整数为参数。参考资料:http://www.cplusplus.com/reference/cmath/cos/ 现在的新编译器一般都是支持新标准,头文件应该写成#include,然后新标准有名称空间的概念,要用cin最简单的做法是加上...