最近在移植一个第三方应用到android7.1中,记录一下踩到的那些坑,用于后续查阅!
1.cannot use typeid with -fno-rtti
编译可执行二进制文件时,报错如下:
boost/function/function_base.hpp:515:62: error: cannot use typeid with -fno-rtti
if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(F))
由于android7.1编译默认带上 -fno-rtti 的编译选项,故需要在.mk文件加上如下选项:
![]()
2.field has incomplete type 'struct sockaddr'
编译库文件的时候,遇到如下错误:
![]()
查阅资料,发现是少了头文件,在对应的文件中加上即可:
#include <sys/types.h>
#include <sys/socket.h>
持续更新中
续:
04.07:继续上次的移植,新出现问题:
HddManager.cpp:typeinfo for CHddManager: error: undefined reference to 'typeinfo for

本文记录了在将第三方应用移植到Android 7.1过程中遇到的错误及解决办法,包括编译错误(如-fno-rtti)、类型不完整、 UnsatisfiedLinkError与库文件问题等,提供了相应的解决方案。
最低0.47元/天 解锁文章
719

被折叠的 条评论
为什么被折叠?



