为什么我在Linux中编译sctp程序失败了?

weixin_38061618 2019-09-12 11:09:32
首先我在Ubuntu 12.04上安装sctp    sudo apt-get install libsctp-dev lksctp-tools然后在我的.c文件中,我包括: #include < netinet/in.h > #include < netinet/sctp.h > #include < sys/socket.h > #include < stdlib.h > #include < unistd.h > howerver,当我用gcc编译时,结果是: undefined reference to `sctp_recvmsg' undefined reference to `sctp_get_no_strms' undefined reference to `sctp_sendmsg' 怎么了?
...全文
175 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38102077 2019-09-12
  • 打赏
  • 举报
回复
如果您真的使用gcc temp.c -o temp进行编译,那么您不会链接任何库(默认的libc.6.so除外),并且您需要一些额外的gcc参数;也许尝试编译 gcc -Wall -g temp.c -lsctp -o temp 一旦你的程序在gdb调试器的帮助下调试并且你认为它没有bug,你可以要求编译器使用它来优化它 gcc -Wall -O2 temp.c -lsctp -o temp gcc的程序参数顺序非常重要.

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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