尝试使用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/

10-11 15:33