Linux找不到动态链接库 .so文件的解决方法

Linux找不到动态链接库 .so文件的解决方法


环境: Ubuntu

前提是 本地主机上存在需要的动态库,这个库可能是自己编译的,也可能是存放位置本身没放在环境变量

定位软件依赖库 使用 ldd 命令:
在此之前需要 找到对应的库;可使用 find 命令:
sudo find / -name libxxxxx.so

第一种

使用环境变量LD_LIBRARY_PATH
将动态库的绝对路劲添加到该环境变量中

1、LD_LIBRARY_PATH = /usr/include/xxxx:$LD_LIBRARY_PATH
(这个是追加的)
不能使用 LD_LIBRARY_PATH = /usr/include/xxxx
(这个是全部覆盖,之前的PATH内容就会丢失)
2、export LD_LIBRARY_PATH
如果直接在shell中执行 —就是 临时设置 推荐使用写入配置文件
写入配置文件

3、执行两个命令
~/.bashrc -用户级别 (临时作用,关闭终端就没有用)
/etc/prefile -系统级别
(直接添加到末尾就行)
Linux找不到动态链接库 .so文件的解决方法

第二种

都是针对文件来说
1、给动态库设置软连接/usr/kevin/fastdfs (源so文件路径)
2、将软链接放到 /usr/lib /usr/lib64 /lib /lib64
3、sudo In -s /usr/kevin/fastdfs/xxx.so /usr/lib/libXXX.SO

第三种

刷新/etc/ld.so.cache
1、首先ⅵm /etc/ld.so.conf
动态库的绝对路径写入该文件中
[里面不管那个include的内容,直接添加就行,那些引入的;
/usr/lib 是我添加的]
Linux找不到动态链接库 .so文件的解决方法
ld.so.conf如上图
/etc/include/ld.so.conf.d/libc.conf 内容如下图
Linux找不到动态链接库 .so文件的解决方法
2、sudo ldconfig -v
作用就是使其配置生效

上一篇:abcdef


下一篇:JavaCV的摄像头实战之六:保存为mp4文件(有声音)