可以为iPhone/armv6编译libpcap吗?
试图编译一个使用pcap.h的basic程序。我已经在我的MacOSX设备上设置了环境,该设备使用iPhone3.1.3SDK安装iPhone3GS。我还将libpcap安装到了~/libpcap,因此我可以使用-I标志告诉gcc在哪里查找头。但是,它失败时会显示一条ld警告,表示该文件不符合所需的体系结构 我使用以下行进行编译:可以为iPhone/armv6编译libpcap吗?,iphone,architecture,libpcap,tcpdump,armv6,Iphone,Architecture,Libpcap,Tcpdump,Armv6,试图编译一个使用pcap.h的basic程序。我已经在我的MacOSX设备上设置了环境,该设备使用iPhone3.1.3SDK安装iPhone3GS。我还将libpcap安装到了~/libpcap,因此我可以使用-I标志告诉gcc在哪里查找头。但是,它失败时会显示一条ld警告,表示该文件不符合所需的体系结构 我使用以下行进行编译: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -I /Users/abnev/libpca
/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
正在生成的错误包括:
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
我现在假设我需要为armv6架构(iPhone)重新编译libpcap,但是检查./configure选项没有帮助。我已经尝试在谷歌上搜索过了,但是几乎没有。c不是libpcap的源文件,它是libpcap的源文件之一。您必须编译所有源文件并将它们构建到库中 做 可能会生成一个生成文件,用于交叉编译iOS的libpcap
我猜想您将在越狱的iPhone上安装libpcap或使用它构建的应用程序,至少如果您要捕获数据包,因为您需要根访问权限,以便libpcap能够打开BPF设备以便能够捕获数据包。
pcap.c
不是libpcap的源代码,它是libpcap的源文件之一。您必须编译所有源文件并将它们构建到库中
做
可能会生成一个生成文件,用于交叉编译iOS的libpcap
我假设您将在越狱的iPhone上安装libpcap或使用它构建的应用程序,至少如果您要捕获数据包,因为您需要根访问权限,以便libpcap能够打开BPF设备以便能够捕获数据包
CFLAGS="-I /Users/abnev/libpcap/include -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk" ./configure