急!LINUX下,GCC编译,原程序包含<semaphore.h>头文件,为什么编译时说sem_wait,sem_post等未定义的引用

RT... RT 展开
 我来答
xz宏定义
推荐于2017-11-25 · TA获得超过1029个赞
知道小有建树答主
回答量:1621
采纳率:100%
帮助的人:220万
展开全部
编译时加上参数:-lpthread

要看报错的阶段,是在编译还是链接阶段.
如果编译时函数没有找到,那是头文件的问题,如果链接时未定义引用,那是c库的问题.
如果你的头文件都正常包含了,那可能你的c库没有使能semaphore的支持.
更多追问追答
追问
怎么加参数??在哪加?gcc -o prohy producer.c 我原来这么写的。。
追答

在最后加
匿名用户
2012-12-25
展开全部
要看报错的阶段,是在编译还是链接阶段.
如果编译时函数没有找到,那是头文件的问题,如果链接时未定义引用,那是c库的问题.

如果你的头文件都正常包含了,那可能你的c库没有使能semaphore的支持.
追问
我才接触LINUX,不是很清楚,就是在文本编辑器里写好了程序,然后在UBUNTU的终端输入gcc编译命令后,出现的提示
追答
把错误贴出来瞄瞄
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mouseling
2012-12-25 · TA获得超过128个赞
知道答主
回答量:107
采纳率:100%
帮助的人:63万
展开全部
楼上说的对啊,如果是在编译阶段,可能是头文件路径不对。把你gcc编译语句和报错信息贴出来吧,这样大家好帮你~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
who_dog
2012-12-25 · TA获得超过137个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:108万
展开全部
gcc -o prohy -lpthread producer.c
追问
加了还是那样。。这是什么原因?GCC版本不行??我用的ubuntu,然后直接用命令下载的gcc
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang12zhe
2012-12-25 · TA获得超过1636个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:286万
展开全部
贴代码呀 你这几句太含糊啦
追问
太长粘不了,麻烦直接跟我说下有哪几种原因会导致这种错误提示。除了头文件还有什么可能?sem_wait 是库函数,为什么会未定义?
追答
这个  ……
超级大牛会确切回答你 我没办法 菜鸟一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式