原因:
动态链接器:程序运行阶段,工作时需要提供动态库所在目录位置
第一种
通过环境变量,export LD_LIBRARY_PATH=动态库路径
重点:临时有效 ,重启环境变量失效
export LD_LIBRARY_PATH=./lib
第二种
配置文件
永久有效,写入终端配置文件 .bashrc使用绝对路径
vi ~/.bashrc
source ~/.bashrc //生效配置文件
![[Pasted image 20240606174810.png]]
第三种
mv ./lib /lib
拷贝自定义动态库到 /lib(标准c库所在目录位置),不推荐
第四种
配置文件法:永久设置,不需要改配置文件
用ldd命令可以查看可执行程序运行起来会加载哪些动态库以及路径,从下图可以看出找不到动态库文件
使用以下命令:
sudo vi /etc/ld.so.conf //写入绝对路径
效果如下:
生效配置文件
sudo ldconfig //配置文件生效
ldd a.out //查看
结果如下: