我有一个独立运行的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环境中解决这个问题?
答案 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
可以找到所有必需的库,并且程序运行正常。