无法打开共享对象文件:没有这样的文件或目录; 在Eclipse中运行或调试

use*_*157 11 c++ eclipse shared-libraries

在Ubuntu上,我在Eclipse中有一个C++应用程序.应用程序编译正常,我可以从命令行运行应用程序.

但是当我尝试调试它或使用Eclipse运行它时,错误:

"Cannot open shared object file: No such file or directory" 被抛出共享库.

我在我的bashrc文件中设置了LD_LIBRARY_PATH,并在运行配置和调试配置中设置了一个LD_LIBRARY_PATH环境变量:

/家庭/ behlingb /文档/ api_libs/FileGDB_API/lib目录

我还缺少什么让Eclipse运行它?



UPDATE

此应用程序只需要一个共享对象文件,该文件来自第三方API下载.我刚刚发现,如果我将共享对象放在可执行文件所在的目录中,它将在Eclipse中进行调试.有没有办法指定不同的目录,所以我不必为每个项目复制文件?

mon*_*zie 18

我正在使用Kepler版本的Eclipse.

  1. 在Eclipse中单击Run然后Debug Configurations
  2. 单击"环境"选项卡
  3. 单击"新建"
  4. 添加LD_LIBRARY_PATH并将其值设置为包含库的目录
  5. 重启Eclipse


zau*_*ufi 3

您可以使用strace实用程序(然后grep使用 foropen和/或stat调用)来获取运行 smth 所需的 .so 文件列表,然后使用locate(或在包中查找)来找出所需库的实际位置