2016-03-21 67 views
0

我想与Linux上的Anjuta一起工作。得到扩展描述fromn dlerror()

我创建了一个包含一些.a和.so库的项目,然后编译它。编译成功。

由于dlopen()只能在安装时才加载.so库,所以我运行了“make install”。安装成功了。

然后我尝试在Anjuta内部运行程序。但是,我收到一个错误,其中一个库无法找到。该消息来自dlerror()调用。

只是为了确保我在“/ usr/local/lib”上做了“ls -la”,并且库在那里。不过,我怀疑有一些其他.so库缺少依赖。

所以我的问题是:

  1. 是我的怀疑是否正确?
  2. 如果是 - 给予更有意义的信息会更合适吗? (这实际上是一个修辞问题)
  3. 如果1是正确的,有没有办法找到我缺少的库依赖项?

在此先感谢您。

回答

0

我怀疑是否正确?

可能。

如果是 - 给予更有意义的信息会更合适吗? (这实际上是一个反问的问题)

不,给你任何你没有要求的信息是不合适的。通过致电dlerror获取此类信息,即您的工作。

如果1是正确的,有没有办法找到我缺少的库依赖项?

是:检查dlopen失败时调用dlerror的结果。

在Linux上,在环境中设置LD_DEBUG=libs也可能提供线索。