鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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

问题现象描述

执行编译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