0

OS X で IPv6 ソケットを使用するアプリケーションをコンパイルしようとしていますが、次のエラー メッセージで失敗します。

error: ‘sockaddr_in6’ undeclared (first use in this function)

SOで同様の質問を読みましたが、 sys/types と netinet/in を含めても問題は解決しませんでした。「gcc -o foo foo.c」でコンパイルしているだけですが、「-lnetinet」のようなものが必要ですか? (私はそれを試しましたが、 -lnetinet も役に立ちませんでした)

簡単な例:

#include <sys/types.h>
#include <netinet/in.h>

int main(int argc, char **argv) {

  sockaddr_in6 addr;
  return 0;
}

対応するファイルを検索したところ、「sockaddr_in6」構造体が欠落している「netinet6/in6.h」を含む「/usr/include/netinet/in.h」が見つかりました。私は何が欠けていますか?

ご協力いただきありがとうございます!

問題は解決しました。「sockaddr_in6」の前に「struct」タグがありませんでした。

struct sockaddr_in6 addr;
4

1 に答える 1

1

あなたはCで作業しているので、使用する必要がありますstruct

struct sockaddr_in6 addr;
于 2013-03-09T04:06:14.697 に答える