尝试使用sctp_get_no_strms
函数时出现链接错误。我正在运行Slackware 14.1,并安装了lksctp-tools。
# ls /var/log/packages | grep sctp lksctp-tools-1.0.16-x86_64-1_SBo
However libsctp symbol list does not include this function.
# nm -D /usr/lib64/libsctp.so | grep sctp_get 0000000000001100 T sctp_getaddrlen 00000000000010e0 T sctp_getladdrs 00000000000010c0 T sctp_getpaddrs
Is sctp_get_no_strms
not supported by lksctp-tools?
The compilation command is as follows:
gcc -o srv sctpserv01.o sctp_wrapper.o -L../lib -lsock -lsctp
最佳答案
使用库中的函数时,需要#include适当的头文件-例如#include "unp.h"
,因为函数sctp_get_no_strms()
在史蒂文斯Unix Network Programming, Volume 1: The Sockets API, 3rd Edn中进行了描述,并且特定于该书。
请注意,unp.h
不是标准的系统头文件,这就是为什么我使用"unp.h"
而不是<unp.h>
(在头文件名前后带有尖括号)的原因。
关于c - 未定义对“sctp_get_no_strms”的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30495734/