加载共享库时出错

Error while loading shared libraries

本文关键字:出错 共享 加载      更新时间:2023-10-16

我是一个c++初学者。我有一个c++项目,我使用现有的make文件构建。我有一个库,我从/usr/local/lib链接构建是成功的,但当我运行它时,它抱怨我链接的库/usr/local/lib如果我将该库复制到/lib64并运行我的程序,一切都没问题。请让我知道我应该做些什么来避免这个错误。谢谢你。

加载共享库时出错:libactivemq- cppso .so。14:不能打开共享目标文件:没有这样的文件或目录

正如Oli所解释的,您可以设置LD_LIBRARY_PATH,但您也可以永久安装库,即使它不在标准目录中。从

man ldconfig

你知道那东西是怎么工作的很重要。

  • 默认情况下(即除非您做些什么),只有受信任目录(/lib/usr/lib)中的库将被拾取。我没有运行的64位系统可用,但我猜这些目录将以64
  • 为后缀。
  • 如果您希望ldconfig在其他目录中拾取库,请将这些目录添加到/etc/ld.so.conf
  • 之后,运行ldconfig -v并检查它们是否真的被拾取了

然后你就都准备好了:-)