4

まず、Ubuntu 12.04
sudo apt-get install libsctp-dev lksctp-tools に
sctp をインストールします 。次に、.c ファイルに以下を含めます。

#include < netinet/in.h >
#include < netinet/sctp.h >
#include < sys/socket.h >
#include < stdlib.h >
#include < unistd.h >

ただし、gccでコンパイルすると、結果は次のようになります。

 undefined reference to `sctp_recvmsg'
 undefined reference to `sctp_get_no_strms'
 undefined reference to `sctp_sendmsg'

なにが問題ですか?

4

1 に答える 1

6

実際にコンパイルする場合gcc temp.c -o tempは、ライブラリをリンクしていないため (デフォルトの を除くlibc.6.so)、 への追加の引数が必要gccです。おそらくコンパイルしようとします

 gcc -Wall -g temp.c -lsctp -o temp

デバッガーを使用してプログラムをデバッグし、gdbバグがないことを確認したら、次を使用してコンパイラーに最適化を依頼できます。

 gcc -Wall -O2 temp.c -lsctp -o temp

へのプログラム引数の順序gccは重要かつ重要です。

于 2013-04-21T23:03:53.483 に答える