问题原因
1、 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.
2、另外一个原因就是已经安装了该共享库,程序按照默认共享库路径找不到该共享库文件。
默认情况下,编译器只会使用/lib
和/usr/lib
这两个目录下的库文件,通常通过源码包进行安装时,如果不指定–prefix,会将库安装在/usr/local/lib
目录下;当运行程序需要链接动态库时,提示找不到相关的.so库。
问题解决
1、 把新共享库目录加入到共享库配置文件/etc/ld.so.conf
cat /etc/ld.so.conf
# 输出内容:include ld.so.conf.d/*.conf
# 把新共享目录加入到共享目录配置文件
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件。