error while loading shared libraries

造成这个错误的原因有两种。
  1.系统中并没有该共享库或者该共享库的版本不对,这种情况,直接去下载并安装对应的共享库即可。

  2.如果系统中存在该共享库,那么则是因为共享库路径设置问题导致程序无法找到共享库。
  
对于第二种情况,解决方法如下:

  1.在 /etc/ld.so.conf 中,加入所需库所在的位置,之后运行 /sbin/ldconfig -v 更新配置。
   ldconfig是一个动态链接库管理命令, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib.so), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表。


  2.一般情况下,Linux默认的共享库目录为/lib和/usr/lib。如果该共享库不在上述的两个文件夹中,同时又没有修改 /etc/ld.so.conf的权限,这个时候就需要export一个全局变量LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/directory/:$LD_LIBRARY_PATH

  需要注意的是LD_LIBRARY_PATH是一个全局性的环境变量,可能会影响到其他程序,所以该方法一般只是用来临时性的解决问题。

posted @ 2017-08-25 09:58  在下不想说  阅读(477)  评论(0编辑  收藏  举报