ActiveMQ:加载共享库时出错

ActiveMQ: Error while loading shared libraries

我有一个 运行 独立的 C++ 项目,通过在控制台上启动它的二进制文件。但是,当我在 Eclipse 上尝试时,它没有 运行,出现以下错误:

 error while loading shared libraries: libactivemq-cpp.so.18: cannot open shared object file: No such file or directory

我知道错误与 LD_LIBRARY_PATH 有关,因为我在控制台上启动之前设置了它,它 运行s,否则它也会在那里给出相同的错误。我也想在 Eclipse 中做同样的事情,我想我已经在这么做了。我正在从 Windows->Preferences 等设置环境变量,但是它不起作用。

有没有人知道如何在Eclipse环境下解决这个问题?

通过在 makefile 中添加以下行作为 make 变量来修复它。

LD_LIBRARY_PATH:=../libs

我最近遇到了同样的错误。这个问题有不同的情况,但我想与其他发现此问题的人分享我的解决方案。

在我的例子中,应用程序是基于 Linux 的。 $ make install 命令似乎由于错误的权限而失败,导致本地库缓存中缺少库。这就是为什么我首先得到错误 error while loading shared libraries: libactivemq-cpp.so.19: cannot open shared object file: No such file or directory 的原因。

修复权限并重新运行 $ make install 命令后,错误仍然存​​在,因为 OS 库缓存未刷新。

执行后:

$ sudo /sbin/ldconfig

可以找到所有需要的库,程序运行良好。