0

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

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

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

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

4

1 回答 1

0

dl_info.dli_fname 在 android 中并不总是包含完整路径( 请参见此处

在这种情况下,这是一种解决方法: 请参阅我的回答

于 2019-02-19T10:36:13.343 回答