0
對不起,如果我錯了,但我想用NDK爲Android編譯libpcap。最後,我得到這個錯誤:編譯libpcap結果對`pcap_parse'的未定義引用
在grammar.y我們可以看到:如果YYBISON沒有定義
但
#ifndef YYBISON
int yyparse(void);
int
pcap_parse()
{
return (yyparse());
}
#endif
=> pcap_parse被定義在gencode.c,我們有(線342)
lex_init(buf ? buf : "");
init_linktype(pcap_datalink(p));
(void)pcap_parse();
並在gencode.h(線299)
struct bpf_insn *icode_to_fcode(struct block *, int *);
int pcap_parse(void);
void lex_init(char *);
void lex_cleanup(void);
=> pcap_parse如果沒有任何測試用例使用! 如果定義了YYBISON,則結果是libpcap錯誤 (未定義的函數pcap_parse)
我的錯誤在哪裏?
您在構建libpcap的源目錄中的config.log文件的內容是什麼?如果你有Bison,Makefile應該用'bison -y -p pcap_'生成'grammar.c',這應該會導致'grammar.c'直接定義'pcap_parse()',這樣pcap_parse()包裝是沒有必要的。不知何故,這沒有發生。 – 2012-01-01 02:38:06