Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以为iPhone/armv6编译libpcap吗?_Iphone_Architecture_Libpcap_Tcpdump_Armv6 - Fatal编程技术网

可以为iPhone/armv6编译libpcap吗?

可以为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

试图编译一个使用pcap.h的basic程序。我已经在我的MacOSX设备上设置了环境,该设备使用iPhone3.1.3SDK安装iPhone3GS。我还将libpcap安装到了~/libpcap,因此我可以使用-I标志告诉gcc在哪里查找头。但是,它失败时会显示一条ld警告,表示该文件不符合所需的体系结构

我使用以下行进行编译:

/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