linux 缺少动态连接库.so(cannot open shared object file: No such file or directory)解决办法

对于自行编译的库,如opus,opencv等,其自带的可执行程序在使用时有时候会报cannot open shared object file: No such file or directory的错误,事实上,相关的依赖库已经安装或编译了,这是由于大部分的自编译库都是默认存放在/usr/local/lib中的,而Linux系统通常只会去/usr/lib中寻找库文件,这就导致无法加载库文件导致报错。

解决方法(三选一)

  1. 使用ln命令对*.so文件创建链接,放到/usr/lib

    ln -s /your install path/xxx.so /usr/lib
    sudo ldconfig
    
  2. 修改宏变量LD_LIBRARY_PATH

    在修改~/.bashrc文件,在其中增加一条
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your install path
    
  3. 修改/etc/ld.so.conf,然后刷新

    vim /etc/ld.so.conf
    add /where/you/install/lib
    sudo ldconfig
    
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐