我有一个应用程序静态链接来自第三方供应商VENDOR1的库libfoo的X版本.它还与来自不同第三方供应商VENDOR2的动态(共享)库libbar链接,该库将libfoo的Y版本与VENDOR1静态链接.
因此libbar.so包含libfoo.a的版本Y,我的可执行文件包含libfoo.a的版本X.libbar仅在内部使用libfoo,并且没有从我的应用程序传递到libbar的libfoo对象.
构建时没有错误,但在运行时app app出现故障.原因似乎是版本X使用具有不同的尺寸,他们的版本Y和运行时链接似乎混合了结构,它们习惯于通过.
VENDOR1和VENDOR2都是封闭源,所以我无法重建它们.
是否有建立/链接我的应用程序,使得它始终解析版本X和libbar的送花儿给人解析到版本Y和两个从未混合的方法吗?