У меня такая же проблема. Все прекрасно компилируется с использованием gcc, когда я не предоставляю "-std = c99", но когда включен флаг, компилятор не может сказать, что поле с типом "struct ip_mreq" "имеет неполный тип."
Это проблема, поскольку я зависим от некоторых функций C99.