OS X sockaddr_in6未声明

时间:2013-02-18 16:42:35

标签: c macos ipv6

我正在尝试在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;
}

我搜索了相应的文件,我有“/usr/include/netinet/in.h”,其中包含“netinet6 / in6.h”,其中缺少“sockaddr_in6”-struct。我错过了什么?

感谢您的帮助!

问题解决了,我在“sockaddr_in6”前面缺少一个“struct”标签:

struct sockaddr_in6 addr;

1 个答案:

答案 0 :(得分:1)

你在C中工作,所以你需要使用struct

struct sockaddr_in6 addr;