so 加载符号找不到的问题解决
来源:互联网 发布:知峰保暖内衣价格 编辑:程序博客网 时间:2024/06/05 00:53
so 加载符号找不到的问题解决
WARNING: Could not load test.so: Cannot load library: reloc_library[1312]: 1332 cannot locate '__aeabi_f2uiz'...
这个问题是gcc的编译问题,需要把gcc.a打进去即可,但是解决问题的过程很重要,在这里记录下:
遇到这种情况就在so所在的目录查看是否有这个符号
objdump -tT test .so | grep __aeabi_f2uiz
通过查看,确实是不存在的。
然后查看该test.so的依赖库是否有
在symbols/system/lib/的目录,该目录是带详细debug符号信息的so,查看相关信息
首先查看该test.so的依赖库
objdump -x test.so | grep NEED
NEEDED libtest2.so
NEEDED libtest3.so
接着通过
nm libtest2.so| grep __aeabi_f2uiz
确认这个符号属于哪个so
通过确认后,发现在这个符号有个地址 例如:0000010
通过addr2line -f -e libtest2.so 0000010 查看具体的符号所在的代码
发现这个符号是gcc相关。
结合在网上搜集到的资料,确实是gcc导致的问题
最后在编译的临时静态目录里添加这个静态文件
新建libgcc文件夹,将gcc.a复制进去
out\target\product\generic\obj\STATIC_LIBRARIES\libgcc\gcc.a
最后修改mk文件
LOCAL_STATIC_LIBRARIES += libgcc
阅读全文
0 0
- so 加载符号找不到的问题解决
- 加载libmupdf.so文件 找不到
- 加载libmupdf.so文件 找不到
- 关于kettle加载job找不到转换文件路径的问题解决
- 找不到libcrypto.so的库。
- .so文件找不到的错误
- "正在为 rasapi32.dll 加载符号"问题解决
- Visual Studio加载符号过慢问题解决
- centos安装jprofiler报找不到libjprofilerti.so问题解决方案
- ubuntu16.04安装opencv找不到cv2.so问题解决
- CentOS 中SVN升级后遇到找不到符号“svn_opt__eat_peg_revisions”问题解决
- java第二天--cmd编译报错:找不到符号 问题解决
- 有关c#.net“无法加载 CSOpenGLC.dll:找不到指定的模块”的问题解决办法
- Java运行class文件出现“找不到或无法加载主类” 的问题解决
- oracle找不到sid的问题解决
- Android关于app加载so文件找不到问题
- 找不到符号
- 找不到符号
- 关于启用 HTTPS 的一些经验分享
- OpenGL 入门基础教程 —— 加载obj模型
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- WebApi系列~基于RESTful标准的Web Api
- 抓包查看http + json 中的 json信息
- so 加载符号找不到的问题解决
- Spring和Mybatis整合
- java事务(1)——Java事务处理的基本问题
- 安装SSL证书后实现http自动跳转到https教程
- Cordova学习笔记《1》搭建环境
- node.js插入数据到MySQL时遇到 Incorrect string value: '' for column '' at row 1 ”
- 相对定位与绝对定位
- thinkphp3.2源码-----Driver.class.php
- Mybatis批量更新数据