Linux找不到共享库问题解决
链接和运行文件时,总会遇到cant find xxxx.so的错误。我们需要将共享库所在目录加入到系统的扫面目录。1、将共享库复制到系统默认目录系统默认扫描目录为/lib、/usr/lib、/usr/local/lib,这三个目录加入效果都一样,只是因为规范问题所以有多个目录。将xxxx.so文件复制到上述目录,在链接时系统就会自动进行寻找。但是运行时,仍会出现找不到包的问题,这是因为...
·
链接和运行文件时,总会遇到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
修改环境变量的方法一般用于程序调试,并不建议用于平时使用
更多推荐
已为社区贡献1条内容
所有评论(0)