我正在使用cygwin编译网络工具( iffinder )。
./configure
和make
之后,我发现问题与struct icmp
有关。头文件中的icmp
结构在哪里。我在cygwin头文件中搜索它,但我没有找到任何东西。
如何在cygwin中编译需要icmp
的源代码?
如果有帮助,您可以找到 iffinder的源代码 here
注意:我的cygwin头文件中有ip_icmp.h
。
编译错误:
iffinder.c:1059:警告:在参数列表
中声明的“struct icmp”iffinder.c:1059:警告:其范围仅为此定义或
声明,这可能不是你想要的iffinder.c:在
function`handle_icmp_error':iffinder.c:1069:错误:解除引用
指向不完整类型的指针
...
答案 0 :(得分:2)
在cygwin中,icmp.h
为空。我建议你从一个开源项目复制一个icmp.h,然后用你的项目编译它。也许,你有很多错误,你必须纠正它们,但你只需要一个icmp结构,它将解决你的问题。
答案 1 :(得分:0)
iffinder.c
第54行#include <netinet/ip_icmp.h>
- 您的系统上是否存在此标头文件?