libpcap编译期间的冲突类型

时间:2016-07-21 07:18:03

标签: c linux gcc cross-platform libpcap

我正在尝试使用交叉编译器arm-linux-gcc编译libpcap。当我运行'make'时出现错误:

./pcap-linux.c:254:14: conflicting types for socklen_t /usr/arm-linux-gnueabi/include/unistd.h:275:21: note previous declaration of 'socklen_t' 

我也尝试使用常见的gcc编译它,但我有同样的错误。我在ubuntu上工作。如何解决这个问题

1 个答案:

答案 0 :(得分:3)

pcap-linux.c以下一种方式创建别名:

#ifndef HAVE_SOCKLEN_T
typedef int     socklen_t;
#endif

您应该将-DHAVE_SOCKLEN_T传递给编译器或放入

#define HAVE_SOCKLEN_T

到一些标题(通常由configure脚本或类似标题自动完成,生成config.h)。

好像你跳过了构建配置步骤,所以准备好看到另一个奇怪的构建错误。