安装了 libevent,程序运行时出现了错误提示:

error while loading shared libraries: libevent-2.0.so.5

问题很明显,系统没能找到 libevent 的动态链接库文件

原因在于 libevent 没有安装在系统存放动态链接库的目录中,当然,也就有两种方式可以解决,一种是通过查找相应的目录和对应的环境变量,将目录加入系统环境变量中即可

定位问题

通过执行 ldd 命令可以看到程序究竟调用了哪些动态链接库,哪些无法找到

ldd main

 

【LInux】找不到动态链接库文件的问题

可见只有 libevent-2.0.so.5 没有找到

定位 libevent-2.0.so.5

whereis libevent-2.0.so.5

 

【LInux】找不到动态链接库文件的问题

他在 /usr/local/lib 目录下

定位系统目录

定位系统动态链接库的目录一个方法是通过环境变量来查找,然而,更简单的方法是直接看我们的程序到哪个目录去找他了

 LD_DEBUG=libs ./main -v

从输出中我们可以看到路径 /usr/lib

因此,我们进入这个目录执行: sudo ln -s /usr/local/lib/libevent-2.0.so.5 .

相关文章: