加载两个插件时,链接的gflags库出现问题“标志'flagfile'出了点问题”

时间:2018-11-27 20:37:07

标签: macos plugins gflags

我正在使用dylibbundler工具为第三方应用程序使用的macOS插件捆绑所有相关库。我有两个插件链接到相同的库,但为宿主应用程序提供了不同的功能。 dylibbundler将依赖关系递归复制到插件的 Contents 文件夹的 libs 子文件夹中,并使用install_name_tool正确修复路径。

两个插件单独加载时都可以正常工作。但是,如果第一个插件已经加载(无论哪个插件),则加载第二个插件会使主机应用崩溃。

在调试器下运行时,我从控制台收到以下消息:

错误:文件'/tmp/gflags-20170711-37644-1a52f7v/gflags-2.2.1/src/gflags.cc'中的标志'flagfile'出了点问题。一种可能性:文件“ /tmp/gflags-20170711-37644-1a52f7v/gflags-2.2.1/src/gflags.cc”被静态和动态链接到该可执行文件。

这是很模糊的:我看到我的插件间接地依赖 libgflags.dylib (通过另一个库 librocks.dylib ),但是,我不明白为什么它崩溃了吗?

根据错误消息,我试图找到与gflag静态链接的二进制文件—为此,nm运气不好。 如果由于尝试加载相同的依赖项而崩溃,为什么不抱怨其他依赖库呢?

0 个答案:

没有答案