加载共享库时出错

时间:2011-09-13 20:57:46

标签: c++

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

  加载共享库时出现

错误:libactivemq-cpp.so.14:不能   打开共享对象文件:没有这样的文件或目录

1 个答案:

答案 0 :(得分:3)

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

开始
man ldconfig

你知道这件事是如何运作的非常重要。

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

你会全力以赴: - )