linux环境下gcc编译器对sin函数出现的错误

thinkpadlove 2012-11-21 10:54:17
#include<stdio.h>
#include<math.h>
int main()
{
double t = 0.5;
double s = sin(t);
return 0;
}

在linux环境下,用gcc编译器编译不通过,出现sin()没有定义,这到底是怎么回事啊 求解决
...全文
500 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
布鲁克斯南南 2012-11-26
  • 打赏
  • 举报
回复
链接的时候加-lm gcc是需要加的!!
qiumingAE86 2012-11-25
  • 打赏
  • 举报
回复
以前也是调用math.h不好使,原来如此
fdl19881 2012-11-22
  • 打赏
  • 举报
回复
SIN(3) Linux Programmer's Manual SIN(3) NAME sin, sinf, sinl - sine function SYNOPSIS #include <math.h> double sin(double x); float sinf(float x); long double sinl(long double x); Link with -lm. 所以同楼上,gcc参数里加上-lm
FancyMouse 2012-11-22
  • 打赏
  • 举报
回复
链接的时候加-lm
fdl19881 2012-11-22
  • 打赏
  • 举报
回复
总只使用C函数时,若不知道其头文件或者要不要链接什么库,请用man xxx 这里面会告诉你,需要哪些头文件与编译链接时的参数的!
xunxun 2012-11-22
  • 打赏
  • 举报
回复
你也没说到底是编译错误还是链接错误 如果是编译错误,那么不知道什么问题 如果是链接错误,和-Wl,-v的链接器默认链接的库有关
thinkpadlove 2012-11-22
  • 打赏
  • 举报
回复
谢谢大家,,g++编译器不用加-lm也能编译成功,是不是gcc不支持数学库啊,所以才加-lm链接到数学库,而g++支持数学库。是不是可以这样理解呢
xumaojun 2012-11-21
  • 打赏
  • 举报
回复
math库中是否有sin这个函数,函数名字是否正确

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧