dladdr不会在dli_fname中返回完整路径

时间:2013-03-19 14:45:26

标签: linux shared-libraries glibc dladdr

我使用dladdr来获取库的完整路径:

Dl_info dl_info;
int ret = dladdr((void*)&func, &dl_info);
if (ret)
            // use dl_info.dli_fname;

工作正常。但是,如果我使用构建重命名文件夹(然后再次运行),则dli_fname不包含完整路径,只包含库的文件名。那是为什么?

除了重命名构建文件夹(misc.cmake更改,主要与安装功能相关)之外还有其他步骤,但是只有重命名后才会出现问题(即应用程序不是从构建文件夹运行)。

1 个答案:

答案 0 :(得分:0)

dl_info.dli_fname在android中不总是包含完整路径( see here

在这种情况下,这是一种解决方法: see my answer