Android 编译libpcap结果未定义对`pcap_parse';的引用;

Android 编译libpcap结果未定义对`pcap_parse';的引用;,android,android-ndk,cross-compiling,libpcap,Android,Android Ndk,Cross Compiling,Libpcap,如果我错了,很抱歉,我正在尝试用NDK为Android编译libpcap。最后,我得到了这个错误: 在语法方面,我们可以看到: #ifndef YYBISON int yyparse(void); int pcap_parse() { return (yyparse()); } #endif =>如果未定义YYBISON,则定义pcap_解析 但在gencode.c中,我们有(第342行) 和gencode.h(第299行) =>如果在没有任何测试用例的情况下使用pcap_parse!

如果我错了,很抱歉,我正在尝试用NDK为Android编译libpcap。最后,我得到了这个错误:

在语法方面,我们可以看到:

#ifndef YYBISON
int yyparse(void);

int
pcap_parse()
{
   return (yyparse());
}
#endif
=>如果未定义YYBISON,则定义pcap_解析

但在gencode.c中,我们有(第342行)

和gencode.h(第299行)

=>如果在没有任何测试用例的情况下使用pcap_parse!! 如果定义了YYBISON,则结果是libpcap错误 (未定义函数pcap_parse)


我的错误在哪里?

解决方法非常简单。我只是在源代码处做了一个
makedistclean
。如果它不起作用,尝试一个
git重置--hard
,它应该被修复


谢谢大家

在构建libpcap的源目录中,
config.log
文件的内容是什么?如果您有Bison,则Makefile应该使用
Bison-y-ppcap\uu
生成
grammar.c
,这将导致
grammar.c
直接定义
pcap\u parse()
,因此不需要
pcap\u parse()
包装器。不知怎的,这并没有发生。
lex_init(buf ? buf : "");
init_linktype(pcap_datalink(p));
(void)pcap_parse();
struct bpf_insn *icode_to_fcode(struct block *, int *);
int pcap_parse(void);
void lex_init(char *);
void lex_cleanup(void);