gcc编译用的参数 -lm 是什么意思?

lujun723 2008-11-19 12:20:44
程序调用了math.h,用gcc编译时,说:/tmp/ccfsltXh.o: In function `main':
11.13.13.c:(.text+0x6e): undefined reference to `pow'
collect2: ld 返回 1

网上找到用 gcc temp.c -o temp -lm,加上“-lm”就可以,这个参数是什么意思呢?
谢谢
...全文
1228 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbh2001 2008-11-19
  • 打赏
  • 举报
回复
pow是math库里函数,linux下编译器默认没有链接该数学库,故报错
所以必须手动添加编译-lm选项
就呆在云上 2008-11-19
  • 打赏
  • 举报
回复
-l指代的是链接一个库文件
m 指代的是math数学库文件,也就是libm.so
lujun723 2008-11-19
  • 打赏
  • 举报
回复
原来-lm=link math,谢谢,linux果然不同哦
ghostwcy 2008-11-19
  • 打赏
  • 举报
回复
链接时,链接libm.so
该动态库为数学函数库
因为你程序中使用了数学函数,所以必须链接该库

69,820

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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