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