Android下移植libnetfilter_conntrack库【android-17/anroid4.2.2】

Android下移植libnetfilter_conntrack库【android-17/anroid4.2.2】

背景 :

anroid提供的libc非gnu标准c库,且不同的版本的libc头文件和kernel头文件是不相同的。libnetfilter_conntrack是防火墙的第三方库,支持内核中获取conntracklist。

问题:

1.   直接编译libnetfilter_conntrack,系统提示如下错误:


解决方法:拷贝anroid-21版本的icmpv6.hanroid-17的对应路径下。

2.   编译显示对应的宏变量__sum16不存在,系统提示如下错误:


解决方法:在icmpv6.h的头部添加宏定义typedef __u16__bitwise __sum16;

3    函数定义不存在,系统提示如下错误undefinedreference to '__fswab64'

解决方法:进行对应函数的静态联编,从高版本内核中拷贝对应函数的实现。(需要删除前期已经生产的objlibs文件夹,因为对应的编译文件冲突)

4      执行ndk-build 编译成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值