2011-12-30 4 views
0

Désolé si je me trompe mais j'essaye de compiler la libpcap pour Android avec NDK. Enfin, je reçois cette erreur:Compilation des résultats de libpcap Référence non définie à `pcap_parse '

dans grammar.y nous pouvons voir:

#ifndef YYBISON 
int yyparse(void); 

int 
pcap_parse() 
{ 
    return (yyparse()); 
} 
#endif 

=> pcap_parse est défini si YYBISON n'est pas défini

MAIS dans gencode.c, nous avons (ligne 342)

lex_init(buf ? buf : ""); 
init_linktype(pcap_datalink(p)); 
(void)pcap_parse(); 

ET dans gencode.h (ligne 299)

struct bpf_insn *icode_to_fcode(struct block *, int *); 
int pcap_parse(void); 
void lex_init(char *); 
void lex_cleanup(void); 

=> pcap_parse si utilisé sans cas de test !! Le résultat est une erreur de libpcap si YYBISON est défini (fonction non définie pcap_parse)

Où est mon erreur?

+1

Quel est le contenu du fichier 'config.log' dans le répertoire source dans lequel vous construisez libpcap? Si vous avez Bison, le Makefile devrait générer 'grammar.c' avec' bison -y -p pcap_', ce qui devrait amener 'grammar.c' à définir directement' pcap_parse() ', de sorte que' pcap_parse() ' l'emballage n'est pas nécessaire. D'une certaine manière, cela ne se produit pas. –

Répondre

0

la solution était vraiment facile. Je fais juste un make distclean à la source. Si cela ne fonctionne pas, essayez un git reset --hard et il devrait être réparé.

Merci à tous

Questions connexes