c++ - 相对路径的 dlopen 错误

标签 c++ macos dlopen

我正在尝试从另一个 .dylib 文件调用一个 .dylib 文件。它们在同一个文件夹中。我这样做:

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

但是 handle 结束时为 NULL 并且 dlerror() 说找不到它。但是,如果我使用绝对路径,它会起作用。文档说我可以使用相对路径。我确定我的拼写和大小写是正确的。

为什么会报错?

最佳答案

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

关于c++ - 相对路径的 dlopen 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556437/

相关文章:

c++ - 使用 `dlopen` 重新加载运行时库

c++ - 用 ASCII 等效字符替换字符串中的所有非 ASCII 字符

macos - 如何在Mac OSX中重命名libusb动态库文件以强制其为静态链接?

linux - dlopening 一个有依赖关系的库

找不到 PHP 文件?

eclipse - 在 Mac OS X 上为 JDK7u4 在 Eclipse 中设置什么 JRE 主页?

ios - 应用程序终止后,dlopen返回NULL

c++ - C++中真正的异步文件IO

c++ - 使用带有 C MPI 函数的 boost 序列化

C++。将符号行读入字符数组/vector 的最快方法