在LINUX的多线程通信中的问题!求指教!

/tmp/cci83lvM.o:(.data+0x0):multipledefinitionof`available_id'/tmp/ccZ4MNqq.o:(.data+... /tmp/cci83lvM.o:(.data+0x0): multiple definition of `available_id'
/tmp/ccZ4MNqq.o:(.data+0x0): first defined here
/tmp/cci83lvM.o:(.bss+0x0): multiple definition of `msgid'
/tmp/ccZ4MNqq.o:(.bss+0x0): first defined here
/tmp/cci83lvM.o: In function `send_msg':
msg_svr.c:(.text+0x4c): multiple definition of `send_msg'
/tmp/ccZ4MNqq.o:msg_client.c:(.text+0x0): first defined here
/tmp/cci83lvM.o: In function `time2str':
msg_svr.c:(.text+0xf0): multiple definition of `time2str'
/tmp/ccZ4MNqq.o:msg_client.c:(.text+0xa4): first defined here
/tmp/cci83lvM.o: In function `init_msg_queue':
msg_svr.c:(.text+0x12c): multiple definition of `init_msg_queue'
/tmp/ccZ4MNqq.o:msg_client.c:(.text+0xe0): first defined here
/tmp/cci83lvM.o: In function `main':
msg_svr.c:(.text+0x1d3): multiple definition of `main'
/tmp/ccZ4MNqq.o:msg_client.c:(.text+0xb48): first defined here
collect2: ld 返回 1
展开
 我来答
百度网友6c954cb
2014-04-27 · TA获得超过298个赞
知道小有建树答主
回答量:478
采纳率:100%
帮助的人:533万
展开全部
你的问题在于多重定义,根源在于源文件没有加
#ifndef XXX
#def XXX

你的code

#endif
一个源文件被编译两次
更多追问追答
追问
那个/tmp 是文件夹吗?  #endif 是要删除一个/
追答
宏放在文件的首尾,保证每次你的code只编译一次
/tmp是文件夹
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式