NDK编译库执行时报dlopen failed: cannot locate symbol "__exidx_end" 解决的方法

当用NDK编译的库在执行载入时报例如以下错:

dlopen("/data/data/xxx.xxx.xxx/lib/libxxx.so")
failed: dlopen failed: cannot locate symbol "__exidx_end" referenced by "libxxx.so"...

解决的方法例如以下:

在你报错的库libxxx.so的编译脚本Android.mk请加上:LOCAL_LDFLAGS += -fuse-ld=bfd

时间: 2024-11-05 12:16:00

NDK编译库执行时报dlopen failed: cannot locate symbol "__exidx_end" 解决的方法的相关文章

[转]NDK编译库运行时报dlopen failed: cannot locate symbol "__exidx_end" 解决办法

原文链接:http://blog.csdn.net/acm2008/article/details/41040015 当用NDK编译的库在运行加载时报如下错: dlopen("/data/data/xxx.xxx.xxx/lib/libxxx.so") failed: dlopen failed: cannot locate symbol "__exidx_end" referenced by "libxxx.so"... 解决办法如下: 在你报

NDK编译库运行时报dlopen failed: cannot locate symbol "__exidx_end" 解决办法

当用NDK编译的库在运行加载时报如下错: dlopen("/data/data/xxx.xxx.xxx/lib/libxxx.so") failed: dlopen failed: cannot locate symbol "__exidx_end" referenced by "libxxx.so"... 解决办法如下: 在你报错的库libxxx.so的编译脚本Android.mk请加上:LOCAL_LDFLAGS += -fuse-ld=bf

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "srand" referenced by "libcocos2dcpp.so"...错误解决

在cocos2d-x 3.5中进行开发的时候,Android代码的编译可能会碰到如下错误:java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "srand" referenced by "libcocos2dcpp.so"... 解决这个问题的办法之一就是把ndk版本从r10d降为r9d,不过这并不是推荐的方法,因为r9d对C++ 11的正则表达式支持不够,以及一些其它的原因. 解决

Android JNI之——UnsatisfiedLinkError errordlopen failed: cannot locate symbol "rand"

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46593083 E/dalvikvm(19498): dlopen("/data/app-lib/com.mystylinglounge.salonluatest-2/libcocos2dlua.so") failed: dlopen failed: cannot locate symbol "rand" referenced by "lib

CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法

在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc++]就可解决 例: gcc -lstdc++ a.cpp 参考自http://mlq.blog78.fc2.com/?mode=m&no=14 CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]

NDK编译c包含C++头文件 error: unknown type name 'class' 的解决方法

在进行native开发的时候,难免会遇到C文件包含C++头文件而调用C++函数,若没做什么处理,直接include进行编译的话,会遇到以下错误: error: unknown type name 'class' error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 那么怎么解决呢? 首先,找下报错的原,从C以及C++特性不难发现:C文件include了带有C++关键字的头文件,如class等,因此,包含C

pyinstaller打出的EXE包执行时报错“failed to excute ”信息

我的程序是selenium自动化脚本,打包时执行的是 Python pyinstaller -F --onefile -w  XXX.py 这样打出的包执行后提示“failed to excute script  xxx” 一直没想到是哪里出了问题,后来又仔细看了下打包参数 -F, –onefile 打包成一个exe文件.-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项).-c, –console, –nowindowed 使用控制台,无界面(默认)-w, –wi

visual studio 2017 编译v140 TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件

原因可能是vs2017中配置v140 的编译命令路径有问题 解决方案: 用vs2017的在线安装程序,选择修改 进去后选择单个组建,在编译器.生成工具和运行时里面把vc++2015.3-- 打钩的取消了,然后点下面的修改,把v140编译器卸载,然后再按照上述步骤重新安装vc++2015.3-- ,即可解决上述问题.

一个小玩具:NDK编译FFmpeg的例子

FFmpeg NDK编译 和最简单的APK 准备 硬件: 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\java等命令必须支持) 工具包: NDK: https://dl.google.com/android/ndk/android-ndk32-r10b-linux-x86_64.tar.bz2 SDK:https://dl.google.com/android/adt/adt-bundle-linux-