我有一个 C++ 代码,它通过带有 LM_ID_NEWLM Lmid_t 的 dlmopen() 函数加载动态库。该代码在 Linux 上按预期编译和工作,但在 Mac OS 上失败。我很难使用 dlopen() 函数获得相同的行为。在 Google 上进行的广泛搜索并未发现任何明显的问题解决方案。使用建议
dlopen("somesharedlibrary.dylib", RTLD_NOW | RTLD_GROUP | RTLD_LOCAL)
不起作用,因为在 Darwin 上无法识别 RTLD_GROUP 选项。有没有办法在 Mac OS X 上加载带有新链接列表映射的动态库?