linux设置动态库搜索路径

在Linux下,如果程序加载时,提示XXXX cannot open shared object file: No such file or directory。而你又确信自己有安装过这个库,那么多半是路径设置的问题。

看链接到的库

# ldd aisenserecog.so.0.7.0 
    linux-vdso.so.1 =>  (0x00007ffcf2658000)
    libwebsockets.so.19 => not found
    libcjson.so.1 => not found
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fad7c245000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fad7be77000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fad7c667000

查找一下库安装的路径

locate libwebsockets.so
/usr/local/lib/libwebsockets.so
/usr/local/lib/libwebsockets.so.19

locate libcjson.so
/usr/local/lib64/libcjson.so
/usr/local/lib64/libcjson.so.1
/usr/local/lib64/libcjson.so.1.7.15
 

解决方法

方法1. 拷贝

      把库拷贝到动态加载器默认搜索目录:/usr/lib和/lib,或者你的程序库路径下去。

方法2. 环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/:/usr/local/lib64/

方法3.ldconfig

        编辑/etc/ld.so.conf文件,加入库文件所在目录的路径,运行ldconfig,该命令 会重建/etc/ld.so.cache文件。

vim /etc/ld.so.conf

添加内容

include ld.so.conf.d/*.conf
/usr/local/lib/
/usr/local/lib64/

执行ldconfig

ldconfig

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值