安装了 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 .

相关文章:

  • 2022-12-23
  • 2021-12-16
  • 2021-04-21
  • 2021-12-04
  • 2022-01-08
  • 2021-05-17
  • 2021-07-05
  • 2021-11-26
猜你喜欢
  • 2022-12-23
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-06-24
  • 2022-12-23
相关资源
相似解决方案