ActiveMQ:加载共享库时出错

时间:2015-06-10 07:24:26

标签: c++ eclipse environment-variables activemq

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

LD_LIBRARY_PATH:=../libs

答案 1 :(得分:0)

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

在我的情况下,该应用程序基于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

可以找到所有必需的库,并且程序运行正常。