c – 用相对路径dlopen错误

我试图从另一个.dylib文件调用.dylib文件.它们位于同一个文件夹中.我这样做:

void * handle = dlopen(“./ other.dylib”,RTLD_LAZY);

但处理结束NULL和dlerror()说它无法找到它.但是,如果我使用绝对路径,它就可以工作.文档说我可以使用相对路径.我确信我的拼写和案例是正确的.

为什么会出错?

解决方法:

相对路径是相对于当前工作目录的 – 而不是相对于第一个dylib的位置

上一篇:c – 以编程方式在共享库中获取函数名称


下一篇:c# – 当P /调用dlopen时的SIGSEGV