我用makefile可以编译通过,但运行出错

error while loading shared libraries: libavformat.so.57: cannot open shared object file: No such file or directory

centos7.2 编译 运行,连接不到动态库问题


然后 ldd 查看依赖动态库,显示找不到。。。

centos7.2 编译 运行,连接不到动态库问题


我的动态库都在本目录下

centos7.2 编译 运行,连接不到动态库问题

再然后搞了很久,之前从没遇到过这样的问题,

突然想到修改文件环境变量,即~/.bashrc文件,~/.basg_profile,或者/etc/profile文件,再或者 /etc/ld.so.conf(可能需要sudo)

方法一:

 export LD_LIBRARY_PATH=库所在路径:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

写入~/.bashrc文件,或者~/.basg_profile,或者/etc/profile文件,三个改一个文件即可

方法二:

或者将.写入 /etc/ld.so.conf文件

centos7.2 编译 运行,连接不到动态库问题


然后在文件最后一行添加本目录,也就是.问题解决,原来是文件中没有配置

保存后执行ldconfig 


ok~

再ldd 看一下

centos7.2 编译 运行,连接不到动态库问题


相关文章:

  • 2021-10-23
  • 2021-09-27
  • 2021-10-01
  • 2021-11-21
猜你喜欢
  • 2021-10-04
  • 2021-12-16
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-02
相关资源
相似解决方案