我在我的linux系统上安装了pcap库,但是在包含它时我得到了错误
/usr/include/pcap/bpf.h:88:1: error: unknown type name ‘u_int’
/usr/include/pcap/bpf.h:108:2: error: unknown type name ‘u_int’
/usr/include/pcap/bpf.h:1260:2: error: unknown type name ‘u_short’
/usr/include/pcap/bpf.h:1261:2: error: unknown type name ‘u_char’
/usr/include/pcap/bpf.h:1262:2: error: unknown type name ‘u_char’
In file included from ../src/test.c:1:0:
/usr/include/pcap/pcap.h:125:2: error: unknown type name ‘u_short’
/usr/include/pcap/pcap.h:126:2: error: unknown type name ‘u_short’
/usr/include/pcap/pcap.h:171:2: error: unknown type name ‘u_int’
...
make: *** [src/test.o] Error 1
我包括
#include <pcap/pcap.h>
#include <sys/types.h>
#include <pcap-bpf.h>
在节目中,我缺少什么?
答案 0 :(得分:11)
确保 NOT 定义以下任何一项:
__STRICT_ANSI__
_ISOC99_SOURCE
_POSIX_SOURCE
_POSIX_C_SOURCE
_XOPEN_SOURCE
_SVID_SOURCE
构建程序时;它们可能会阻止定义BSD数据类型,例如编译器所抱怨的数据类型。
答案 1 :(得分:8)
尝试添加
-D_BSD_SOURCE
将一个CFLAG添加到您的Makefile中。