我正在开发一个应用程序,它将利用连续传输协议(流控制传输协议)API sctp_bindx
,如sctp_connectx
等。
我的内核版本是3.13.0-49-generic。
如果我尝试编译我的代码,我会得到
fatal error: netinet/sctp.h: no such file or directory.
如果我安装lksctp-tools
包那么我的代码就会被编译。
我可以在不安装任何库的情况下使用 API 吗libsctp
?因为我读到 SCTP 受 kenel 版本 > 2.1 支持
答案1
至少对于 14.04 来说,apt-file
它表示:
[romano:~] % apt-file search netinet/sctp.h
libsctp-dev: /usr/include/netinet/sctp.h
因此,要编译#include
该文件的任何代码,sctp.h
您需要通过以下方式安装包libsctp-dev
及其依赖项
sudo apt-get install libsctp-dev
如果您想在低级(内核直接系统调用访问等)上执行此操作,您可能应该复制库的所有样板代码 --- 您为什么要这样做? 您不会和sys_open()
朋友一起这样做,而是习惯于libc
将它们很好地包装起来。
通过 获得关于这个(以及任何)包的更多信息apt show libsctp-dev
。
答案2
要安装它,请按Ctrl+ Alt+T进入终端并输入:
apt-get install libsctp-dev