Linux找不到共享库问题解决

本文介绍了三种解决cantfindxxxx.so错误的方法:1. 将共享库复制到系统默认目录并执行ldconfig;2. 修改/etc/ld.so.conf文件并执行ldconfig;3. 修改LD_LIBRARY_PATH或LIBRARY_PATH环境变量。

链接和运行文件时,总会遇到cant find xxxx.so的错误。我们需要将共享库所在目录加入到系统的扫面目录。

1、将共享库复制到系统默认目录

系统默认扫描目录为/lib、/usr/lib、/usr/local/lib,这三个目录加入效果都一样,只是因为规范问题所以有多个目录。将xxxx.so文件复制到上述目录,在链接时系统就会自动进行寻找。

但是运行时,仍会出现找不到包的问题,这是因为二进制文件运行时,为了加快运行速度,会直接读取ld.so.cache这个缓存文件。执行ldconfig命令,将文件加入缓存。

2、修改/etc/ld.so.conf文件

将共享库所在目录,加入ld.so.conf文件,这样系统就会自动扫描目录。这种方法同样需要执行ldconfig。

3、修改环境变量

修改LD_LIBRARY_PATH环境变量

export LD_LIBRARY_PATH=/home/yourid/soDir:$LD_LIBRARY_PATH

有时修改不起作用,这是我们去修改LIBRARY_PATH这个变量

export LIBRARY_PATH=/home/yourid/soDir:$LIBRARY_PATH

修改环境变量的方法一般用于程序调试,并不建议用于平时使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值