__system_property_get arm64 链接错误

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确实找不到这个符号。于是谷歌发现了:

http://stackoverflow.com/questions/28413530/api-to-get-android-system-properties-is-removed-in-arm64-platforms

也在谷歌的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

__system_property_get arm64 链接错误的相关文章

mysql链接错误:2003 can't connect to mysql server on 10038

出现这个错误原因是端口号不是3306. 打开D:\Program Files\MySQL\MySQL Server 5.5 \my.ini文件,当然还有其他的.ini的文件: [client] port=3306 [mysql] default-character-set=utf8 # SERVER SECTION# ----------------------------------------------------------------------## The following opt

mysql链接错误

Warning: mysqli_connect() [function.mysqli-connect]: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in xxx.php on line 14 解决方案: cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql ln -s /tmp/mysql.sock mysql.

Duplicate Symbol链接错误的原因总结和解决方法[转]

from:http://www.cocoachina.com/bbs/read.php?tid=177492 duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在.但是经过一段时间的总结,发现这种错误总是有一些规律可以找的.例如,我们有如下的最简单的两个类代码: //  ClassA.h#import <Foundation/Foundation.h>@interface ClassA : NSObject@end //  ClassA.m#impor

关于我遇到的“LNK 2019无法解析的外部符号”的链接错误

昨天在调试程序的时候出现了"LNK 2019无法解析的外部符号"的问题(VS2008),依照网上说的方法都没有解决这个问题,最后在项目文件里发现有两个同名的可是不在同一个目录下的cpp文件,而产生LNK错误的cpp文件里有对这个重名文件的引用,结果导致了当中一个cpp文件产生的目标文件(obj)覆盖了真正须要的cpp产生的OBJ文件,导致链接的时候找不到指定的符号而出现了链接错误. 以下给个图说明一下我遇到的情况吧: 在项目中.同一时候包括了目录1和目录2中的全部cpp文件,而ref.

Ogre1.6.5 编译链接错误之FreeImage

这两天想重新学习下ogre,但是在vs2010上编译1.6.5的版本上遇到链接失败的问题,耗了不少时间这里记一下. 主要是一些重定义报错. >msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,stru

Xerces链接错误原因之/Zc:wchar_t-设置不一致

今天程序需要使用Xerces作为xml文件的解析与序列化工具,使用的是Xerces2.7.0版本.具体编译教程如下: 成功编译出了Xerces.dll和Xerces.lib.但是在链接到主工程的时候,总是链接失败.报错如下 error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static wchar_t const * const xercesc_2_7::XMLUni::fgDOMWRTFormatPrettyPrint"

Treat wchar_t as built-in type不一致导致的链接错误

今天用VS2013新建了一个工程,生成时出现很多怪异的链接错误,比如: error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class MTString __cdecl MTString::fromWCharArray(wchar_t const *,int)"([email protected]@@[email protected][email protected]) refe

VC中链接错误,提示string重定义

VC链接错误,说是string已经有了实现了,只要 rebuild 一下好了. Linking...LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specificationmsvcprtd.lib(MSVCP71D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<

iOS 链接错误file was built for archive which is not the architecture being linked (i386)

iOS 环境下,链接某个静态库(.a文件)时,Xcode 会出现链接错误: xxx file was built for archive which is not the architecture being linked (i386) 这是因为静态库是为iOS 环境编译的,并不能在模拟器环境下使用,只要将Build 目标改成设备即可.如果是: ld: warning: ignoring file ./libsasl2.a, file was built for archive which is