ndk编译libpcap 1.7.4(最终解决方法)

具体方法和测试见上一篇。

后来才知道,LIBPCAP本来就写了几套获取网卡的函数,这样就简单了。和上篇一样,把那5个文件从LINUX下托下来.

上篇忘了说了,还要将LINUX中/usr/include/linux/netfilter/nfnetlink_log.h和/usr/include/linux/netfilter/nfnetlink_dequeue.h两个头文件下下来,放入相应平台目录中

自己写一个config.h

 1 #ifndef _CONFIG_H_
 2 #define _CONFIG_H_
 3 
 4 
 5 #define HAVE_STRLCPY 1
 6 #define HAVE_STRERROR 1
 7 #define HAVE_LIMITS_H 1
 8 #define HAVE_SNPRINTF 1
 9 #define HAVE_VSNPRINTF 1
10 
11 #define __aligned_u64 __u64 __attribute__((aligned(8)))
12 #define __aligned_be64 __be64 __attribute__((aligned(8)))
13 #define __aligned_le64 __le64 __attribute__((aligned(8)))
14 
15 
16 #endif /* _CONFIG_H_ */

然后直接在WINDOWS命令行下切换到源码目录

 1 del -f pcap-linux.o pcap-netfilter-linux.o fad-gifc.o pcap.o inet.o gencode.o optimize.o nametoaddr.o etherent.o savefile.o sf-pcap.o sf-pcap-ng.o pcap-common.o bpf_image.o bpf_dump.o  scanner.o grammar.o bpf_filter.o version.o libpcap.so
 2 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./pcap-linux.c
 3 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./pcap-netfilter-linux.c
 4 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./fad-gifc.c                          
 5 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./pcap.c
 6 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./inet.c
 7 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./gencode.c
 8 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./optimize.c
 9 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./nametoaddr.c
10 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./etherent.c
11 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./savefile.c
12 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./sf-pcap.c
13 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./sf-pcap-ng.c
14 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./pcap-common.c
15 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./bpf_image.c
16 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./bpf_dump.c
17 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./scanner.c
18 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./bpf_filter.c
19 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c ./version.c
20 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -Dyylval=pcap_lval -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrinclude -c grammar.c
21 
22 D:Androidandroid-ndk-r10d	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64inarm-linux-androideabi-gcc.exe -nostdlib -Bdynamic -shared -Wl,-soname,libpcap.so -o libpcap.so pcap-linux.o pcap-netfilter-linux.o fad-gifc.o pcap.o inet.o gencode.o optimize.o nametoaddr.o etherent.o savefile.o sf-pcap.o sf-pcap-ng.o pcap-common.o bpf_image.o bpf_dump.o  scanner.o grammar.o bpf_filter.o version.o crtend_so.o crtbegin_so.o -LD:Androidandroid-ndk-r10dplatformsandroid-19arch-armusrlib -lc -ldl -llog -lgcc -lm -landroid -lz

 一次成功

原文地址:https://www.cnblogs.com/javado/p/4717005.html