linux c参数的问题

youyushaonian 2011-04-24 01:53:51
我在linux 下面编译程序时,经常会遇到 undefined reference to ,id returned 1 exit status 等问题。。。。
比如,我编译一个sin.c 程序,gcc sin.c (头文件,库都加上了),但是会有问题,必须这样写才可以通过,gcc sin.c -lm ;我编译进程时,也是这样的,gcc pthread.c 是通不过的,必须gcc pthread.c -lpthread 才可以通过。
我不明白,- 这个参数是什么作用的,后面该怎么加啊。
...全文
99 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanchangjiu123 2011-05-19
  • 打赏
  • 举报
回复
pthread 必须加库 -l库名,例如:-lpthread
yong_f 2011-04-25
  • 打赏
  • 举报
回复
-I是指定编译器编译时加载的头文件路径
-L是指定连接器连接时加载库的路径
-l是指定连接器连接时要用到的库文件。
如-lm就是指定连接器连接时要用到libm.so库文件
toadzw 2011-04-25
  • 打赏
  • 举报
回复
你要链接的是他的库,所以要以-l把这个公用库给代上,你直接把他的.c编译进去是不行的;
星空仰望者 2011-04-25
  • 打赏
  • 举报
回复
你用的函数在那些库里实现的,如果不加上显式链接,编译器不知道你所引用的函数在哪实现的。
所以要报错
louyong0571 2011-04-24
  • 打赏
  • 举报
回复
就是连接库用的,man gcc一下,有详解
李亚超 2011-04-24
  • 打赏
  • 举报
回复
lpthread 这个是POSIX线程库,不是系统本身带的,用时必须加上,库文件名。
昵称很不好取 2011-04-24
  • 打赏
  • 举报
回复
链接上需要的库,某些程序不需要是因为编译器会自动链接一些常用的
ericming200409 2011-04-24
  • 打赏
  • 举报
回复
少了会导致链接错误
ericming200409 2011-04-24
  • 打赏
  • 举报
回复
指定特定库,链接时需要的

23,125

社区成员

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

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