编译多播侦听器时出错

时间:2013-06-04 21:15:31

标签: c sockets multicast

我正在尝试编译多播侦听器,但gcc在struct ip_mreq mreq声明中发现错误。错误是"storage size of 'mreq' isn't known"我该怎么办?

2 个答案:

答案 0 :(得分:1)

确保您的计划包含<netinet/in.h>,或系统中定义的任何位置。此外,某些系统要求头文件按特定顺序包含。因此,根据报告错误的位置,您可能需要更改头文件包含的顺序,以确保满足依赖性。

答案 1 :(得分:0)

我有同样的问题(是的,我包括<netinet/in.h>)。添加

#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif

在.c文件的顶部修复了问题。