error while loading shared libraries缺少依赖错误处理

问题描述

Linux下在编译运行软件的时候报错

error while loading shared libraries

查看所需依赖是否存

$ ldconfig -v
        ld-linux.so.2 -> ld-linux.so.2
        libnss_files.so.2 -> libnss_files.so.2
        libpcprofile.so -> libpcprofile.so
        libanl.so.1 -> libanl.so.1
        libnss_dns.so.2 -> libnss_dns.so.2
        libutil.so.1 -> libutil.so.1
        libnss_hesiod.so.2 -> libnss_hesiod.so.2
        libc_malloc_debug.so.0 -> libc_malloc_debug.so.0
        libmemusage.so -> libmemusage.so
        libresolv.so.2 -> libresolv.so.2
        libnss_compat.so.2 -> libnss_compat.so.2
        libpthread.so.0 -> libpthread.so.0
        libc.so.6 -> libc.so.6
....
# 也可以过滤一下
$ ldconfig -v |grep libQt5Core

查找所需的依赖文件

find / -name "*libQt5Core*"

创建配置文件

如果依赖存在于计算机,创建一个文件把依赖所在的目录添加进去

例如:这里创建一个qt5.conf文件

vim /etc/ld.so.conf.d/qt5.conf

/usr/lib/x86_64-linux-gnu/

再次查看

$ ldconfig -v |grep libQt5Core

就能发现已经存在了。