• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

ARM下如何加载Linux共享库so,如何判断so文件需求?

QiaoJiannan 2017-08-28 浏览量:1860

我这编译第三方软件时遇到加载so文件报错的问题。加载的库so说明四基于Android的ARM芯片的,我的系统是Debian Jessie,不知道是不是因为架构问题无法加载。



0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果是平台不一样,那么so库要重新进行编译的。

    同是ARM平台,但是也有32位、64位之分,也有核心不同之分。要看你的so库是用于什么的。

    • 发布于 2017-08-28
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 您好,首先您要找到檔案 xxxx.so,然後指派檔案所在位置假設/../../

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/../../

    然後進行連結時需在gcc內指定載入-lxxxx

    即可

    • 发布于2017-08-28
    • 举报
    • 评论 2
    • 0
    • 0
QiaoJiannan 回复了 MOP :非常感谢,我已经设定好LD_LIBRARY_PATH,但依然报错。错误并不是找不到文件,请看我的回复 回复
MOP 回复了 QiaoJiannan :您架構應該都是ARM才對,所以不會有這問題,您可以把錯誤訊息放上來比較好解決 回复

  • 2017-08-28 18_33_43-serial-com4 - SecureCRT.png

    我已经指定LIB路径了,而且我确信so文件在能够加载的路径中,不然不会报这个错误的。 我用的是Java的System.load命令加载so。

    而且我通过objdump -p查看这个so依赖的so文件,并全部安装好,但依然加载失败。

    • 发布于2017-08-28
    • 举报
    • 评论 1
    • 0
    • 0
MOP 回复了 QiaoJiannan :根據您的錯誤訊息, 99%你這個so檔案非ARM的, 您需要自行編譯這個so 回复

  • 架构可以用file命令检测该so文件是哪个平台上的
    • 发布于2017-11-21
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://www.distrelec.biz/Web/Downloads/89/19/04418919.pdf 回复

电子老工程师 回复了  :LM158JG和LM158J封装尺寸不同,不能相互替代使用。 回复

  • X86 Linux平台和ARM Linux平台的处理方式不同,要分情况。

    • 发布于2018-01-28
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :对插端:EN3P6FRAPCBN 回复

相关问题

问题达人换一批

ARM下如何加载Linux共享库so,如何判断so文件需求?