ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-01-12 13:01:56  阅读:297  来源: 互联网

标签:LD ld LIBRARY so usr Linux 动态链接库 PATH


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 -系统级别
(直接添加到末尾就行)
在这里插入图片描述

第二种

都是针对文件来说
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 是我添加的]
在这里插入图片描述
ld.so.conf如上图
/etc/include/ld.so.conf.d/libc.conf 内容如下图
在这里插入图片描述
2、sudo ldconfig -v
作用就是使其配置生效

标签:LD,ld,LIBRARY,so,usr,Linux,动态链接库,PATH
来源: https://blog.csdn.net/qq_43680827/article/details/122451012

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有