Essayant de compiler un programme de base utilisant pcap.h. J'ai mis en place l'environnement sur ma boîte Mac OSX qui utilise le SDK iPhone 3.1.3 pour un iPhone 3GS. J'ai aussi installé libpcap dans ~/libpcap pour que je puisse dire à gcc où chercher les en-têtes en utilisant le drapeau -I. Cependant, il échoue avec un avertissement ld indiquant que le fichier n'est pas de l'architecture requise.Est-ce que libpcap peut être compilé pour iPhone/armv6?
Je compile avec la ligne suivante:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -I /Users/abnev/libpcap/include -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk -o pcap pcap.c -lpcap
l'être erreur générés sont:
ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk/usr/lib/libpcap.dylib, file is not of required architecture
Undefined symbols:
"_pcap_geterr", referenced from:
_main in ccOL3e0B.o
_main in ccOL3e0B.o
"_pcap_open_live", referenced from:
_main in ccOL3e0B.o
"_pcap_next", referenced from:
_main in ccOL3e0B.o
"_pcap_lookupdev", referenced from:
_main in ccOL3e0B.o
"_pcap_setfilter", referenced from:
_main in ccOL3e0B.o
"_pcap_lookupnet", referenced from:
_main in ccOL3e0B.o
"_pcap_close", referenced from:
_main in ccOL3e0B.o
"_pcap_compile", referenced from:
_main in ccOL3e0B.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Je suppose maintenant que je dois recompiler libpcap pour l'architecture ARMv6 (iPhone), mais la vérification les options ./configure n'aident pas. J'ai essayé de Google autour pour cela, mais il y a très peu de choses là-bas.