为何linux已安装了c头文件库,程序中也include了的,可是gcc就是不认

信阳毛尖 2010-05-07 12:12:26
例如我简单写一个小程序(求平方根):
#include <stdio.h>
#include <math.h>
main()
{
float a;
double b;
a=9;
b=sqrt(a);
printf("b=%.5f",b);
}
gcc时:
安装系统时是把所有的软件包都安装了的(装好花了我好久好久呀^_^)
...全文
159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingteng 2010-05-07
  • 打赏
  • 举报
回复
什么错误吗,还有你这个形式的main肯定不能过GCC阿,你再装一次
sudo apt-get install build-essential
steptodream 2010-05-07
  • 打赏
  • 举报
回复
其实这样的小问题 你把错误复制到google上 就能找到答案
快乐田伯光 2010-05-07
  • 打赏
  • 举报
回复
GCC会自动链接常用的库,所以你包含stdio.h的时候不需要加额外的链接库。而math并不是每个程序都需要用,所以当你使用的时候需要你主动链接这个库。如果你写一个多线程程序,你也需要-lpthread
[Quote=引用 6 楼 lsq19871207 的回复:]
加上-lm可以了,但一般情况下包含头文件都在源码里用#include xxxxxx实现,我也写了呀,倘若一个程序需要包含多个头文件,这种在gcc中带头文件参数的形式不是很费劲么?
[/Quote]
信阳毛尖 2010-05-07
  • 打赏
  • 举报
回复
让大虾们见笑啦,看看我那等级,就知道我啥基础了^_^
信阳毛尖 2010-05-07
  • 打赏
  • 举报
回复
加上-lm可以了,但一般情况下包含头文件都在源码里用#include xxxxxx实现,我也写了呀,倘若一个程序需要包含多个头文件,这种在gcc中带头文件参数的形式不是很费劲么?
快乐田伯光 2010-05-07
  • 打赏
  • 举报
回复
楼主编译链接不分。基础不过关,呵呵
atiansk2006 2010-05-07
  • 打赏
  • 举报
回复
link math lib
plumstar 2010-05-07
  • 打赏
  • 举报
回复
楼上正解 加 -lm
pottichu 2010-05-07
  • 打赏
  • 举报
回复
gcc -lm 你的文件。

加上 -lm 选项。

23,120

社区成员

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

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