error while loading shared libraries: libXXXX.so: cannot open shared object file: No such file or directory

出现这个问题的原因是运行程序缺少依赖库,或者运行程序的依赖库缺少依赖库,可能你的本地目录下面就有这个库文件,但是linux搜索路劲不会从当前路径下去搜索;这种情况可能出现在切换环境上,可能你在一个linux环境下运行正常,到另外一个linux下运行则不正常,因为两个系统环境的系统库文件不一样;新环境下缺少系统依赖库;

该问题的解决方有:

1.最简单的方法当然是找出新环境下缺少的系统库文件,可以用ldd -r 程序名称   命令来查看缺少哪些库文件;然后在旧环境中去找到这些库文件,将文件复制到对应的系统库路径;一般在lib文件夹或者lib64文件夹下;

2.修改配置文件,这个要修改系统的配置文件,修改/etc/profile在文件末尾加上两行: LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH,让所有帐号从此都优先加载当前目录的动态库;这各方法的缺点是影响所有的用户;

3.在/etc/ld.so.conf中添加,该文件的内容是include ld.so.conf.d/*.conf,是包含ld.so.conf.d目录下的所有文件;所以实际需要在ld.so.conf.d新建一个文件,将路径名称写入其中,然后调用ldconfig,该命令用来刷新系统的共享库缓存,即 /etc/ld.so.cache 文件。为了减少共享库系统的库搜索时间,共享库系统维护了一个共享库so名称的缓存文件 /etc/ld.so.cache 。 因此,在安装新的共享库之后,一定要运行 ldconfig刷新该缓存。

  • LD_RUN_PATH设置的路径
  • 链接器使用-rpath或-R选项设置的路径
  • LD_LIBRARY_PATH设置的路径
  • /etc/ld.so.conf配置的路径
  • /usr/lib/和 /lib/

自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

https://www.cnblogs.com/bclshuai/p/11380657.html

百度云盘下载地址:

链接:https://pan.baidu.com/s/1swkQzCIKI3g3ObcebgpIDg

提取码:mc8l

微信公众号获取最新的软件和视频介绍

QStockView

原文地址:https://www.cnblogs.com/bclshuai/p/7446619.html