undefined reference to `__system_property_get’
这一系列的函数在arm64的头文件有定义,但是在libc.so中却找不到实现。
header: sys/system_properties.h
__system_property_get
__system_property_set
__system_property_find
__system_property_read
__system_property_find_nth
__system_property_foreach
编译64位的arm平台的库的时候报了一个这样的链接错误,__system_property_get是Android NDK提供的一个函数,32位上一直都是ok的,编译64的时候既然会报这个错误,readelf查看64位的libc.so确实找不到这个符号。于是谷歌发现了:
也在谷歌的issues中找到了这个bug
https://code.google.com/p/android/issues/detail?id=143627
解决办法:
找到一台arm平台的Android 5.1的设备或虚拟机,把/system/lib64/libc.so取出替换NDK里面的库即可。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-25 19:40:44