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
#ifndef _CONFIG_H_
#define _CONFIG_H_ #define HAVE_STRLCPY 1
#define HAVE_STRERROR 1
#define HAVE_LIMITS_H 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1 #define __aligned_u64 __u64 __attribute__((aligned(8)))
#define __aligned_be64 __be64 __attribute__((aligned(8)))
#define __aligned_le64 __le64 __attribute__((aligned(8))) #endif /* _CONFIG_H_ */
然后直接在WINDOWS命令行下切换到源码目录
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
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./pcap-linux.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./pcap-netfilter-linux.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./fad-gifc.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./pcap.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./inet.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./gencode.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./optimize.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./nametoaddr.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./etherent.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./savefile.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./sf-pcap.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./sf-pcap-ng.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./pcap-common.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./bpf_image.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./bpf_dump.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./scanner.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./bpf_filter.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c ./version.c
D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -DHAVE_CONFIG_H -DNDEBUG -D_U_="__attribute__((unused))" -Dyylval=pcap_lval -O2 -fomit-frame-pointer -Wall -pipe -I. -ID:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\include -c grammar.c D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-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:\Android\android-ndk-r10d\platforms\android-\arch-arm\usr\lib -lc -ldl -llog -lgcc -lm -landroid -lz
一次成功
ndk编译libpcap 1.7.4(最终解决方法)的更多相关文章
- ndk编译libpcap 1.7.4
android完全菜鸟,绝对的第一次接触,想做手机抓包,在网上搜又是NDK 又是JNI 又是JNETPCAP 完全蒙了,让我这种android和java都弄不明白什么关系的人情何以堪! 静下心想一想, ...
- android用NDK编译出so最简单的方法
其实只要是有个jni的文件夹,再放个Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := hell ...
- NDK编译库执行时报dlopen failed: cannot locate symbol "__exidx_end" 解决的方法
当用NDK编译的库在执行载入时报例如以下错: dlopen("/data/data/xxx.xxx.xxx/lib/libxxx.so") failed: dlopen faile ...
- Android APP使用NDK编译后的ffmpeg库出现undefined reference to 'posix_memalign'错误
在android程序中使用NDK编译后的ffmpeg库的时候出现了如下错误: jni/libs/libavutil.a(mem.o): in function av_malloc:libavutil/ ...
- Android Studio 中关于NDK编译及jni header生成的问题
之前由于工作原因使用grails这个基于groovy的框架做项目,对groovy感觉很好. 基于groovy的gradle构建系统对我而言自然也是好的没得说. Android Studio 正式版出来 ...
- Windows下配置cygwin和ndk编译环境
cygwin安装 正确的安装步骤其实很简单:1. 下载setup-86_64.exe 2. 直接从网上下载安装,选择包时,顶部选择“default”不变 3. 搜索make,勾选make,cmake, ...
- anroid ndk编译ffmpeg 引用librtmp libx264
Ffmpeg 无处不在,自然android系统少不了它,折腾了不少时间完成 ndk编译ffmpeg,生成so库中引用了外部库librtmp,libx264.条条大路通罗马, 也许还有别的更好的方法去完 ...
- 【转】如何把ndk编译出来的可执行文件伪装成so打包到apk中
原文网址:http://jeyechao.iteye.com/blog/2164286 ndk编译出来的共享库,eclipse会自动打包到apk中,而编译出来的可执行文件则不会. 要想可执行文件自动被 ...
- arm 及ndk编译
首页 » Android android的armeabi跟armeabi-v7a 网友分享于:2014-03-16 浏览:867次 android的armeabi和armeabi-v7 ...
随机推荐
- 关于Dubbo中一些小众但很实用的功能
dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定知道,但是很好用的功能: 直连Provider 在开发及测试环境下,可能需要绕过注册中心,只测试指定服务提供者,这时候可能需要 ...
- iOS核心动画以及UIView动画的介绍
我们看到很多App带有绚丽狂拽的特效,别出心裁的控件设计,很大程度上提高了用户体验,在增加了实用性的同时,也赋予了app无限的生命力.这些华丽的效果很多都是基于iOS的核心动画原理实现的,本文介绍一些 ...
- Java多线程系列三——实现线程同步的方法
两种实现线程同步的方法 方法 特性 synchronized 不需要显式地加解锁,易实现 ReentrantLock 需要显式地加解锁,灵活性更好,性能更优秀,结合Condition可实现多种条件锁 ...
- E20171229-hm
specification n. 规格; 说明书; 详述;
- vue父组件访问子组件
1.父组件(父组件访问子组件的方法drop) <!--父组件访问子组件的方法v-ref:shopcart--> <template> <div id="pare ...
- bzoj Strange Way to Express Integers【excrt】
其实我没看懂题不如说根本没看--都说是excrt板子那就写个板子吧 注意开long long #include<iostream> #include<cstdio> using ...
- 分布式事务(三)mysql对XA协议的支持
系列目录 分布式事务(一)原理概览 分布式事务(二)JTA规范 分布式事务(三)mysql对XA协议的支持 分布式事务(四)简单样例 分布式事务(五)源码详解 分布式事务(六)总结提高 引子 从Mys ...
- Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析
1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...
- Node“getTextContent() is undefined for the type Node”处理办法
最近一个项目在MyEclipse导入后总是报getTextContent() is undefined for the type Node错误. 经过查找原来是因为Node类为JDK中自带的(org. ...
- mysqlbinlog(日志管理工具)
mysqlbinlog用于处理二进制的日志文件,如果想要查看这些日志文件的文本内容,就需要使用mysqlbinlog工具. 1.mysqlbinlog命令的语法 shell > mysqlbin ...