我有首先加载 .dylib 的软件,让我们使用以下命令调用 libFirst.dylib:
void* handle = dlopen(path.c_str(), RTLD_LAZY | RTLD_GLOBAL);
稍后在加载的 libFirst.dylib 的函数内部,我尝试使用相同的命令加载另一个 .dylib,但对于 libSecond.dylib,此共享库的加载在我的 Xcode 控制台中给了我以下警告:
error warning: Ignored unknown object module at 0x129310 with type 0x8a8399
dlerror: dlopen(/path/libSecond.dylib, 9): Library not loaded: libFirst.dylib
Referenced from: /path/libSecond.dylib
Reason: image not found
我没有得到的是它说 libFirst.dylib 没有加载,但我目前在 libFirst.dylib 的一个函数中,那么这怎么可能呢?
我在 DYLD_LIBRARY_PATH 中的所有路径也似乎正确。
在此先感谢,我已经坚持了好几天了。