中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

动态库替换静态库,找不到相关库文件的解决方法

问题现象描述

执行编译Snappy-java时报错,报错信息如下。

1
[exec] make: *** [target/commons-crypto-1.0.0-Default/libcommons-crypto.so] Error 1

关键过程、根本原因分析

结论、解决方案及效果

  • 解决方案一:
    1. 进入“commons-crypto-CRYPTO-1.0.0”目录。
      1
      cd commons-crypto-CRYPTO-1.0.0
      
    2. 在Makefile文件中添加G++的编译选项“-Wl,-Bdynamic”。
  • 解决方案二:

    使用动态库替换静态库,可能会导致运行时找不到对应的库,可以安装对应库的静态形式解决该问题。

    通过Yum源安装所需要的glibc、libstdc++-static。
    1
    2
    yum install libstdc++-static.aarch64 -y
    yum install glibc* -y