【发布时间】:2013-02-04 04:43:00
【问题描述】:
我目前正在链接 linux 上的两个第三方共享库(A.so 和 B.so)。问题是这两个so都与另一个库静态链接,因此来自A.so和B.so的大约400个函数具有相同的名称。 当我使用 -lA -lB 或 -lB -lA 编译和链接时,由于函数插入导致问题并且代码无法运行,这取决于从 A 或 B 分别提取函数的顺序。我想知道是否有办法将函数名称绑定到它们的库,以便两个库都可以链接和使用?因为那些重叠的函数名称是在 A 和 B 内部调用的,所以我不能使用 objcopy 之类的东西。dlopen 有帮助吗?
【问题讨论】:
-
问:你有没有机会从 C.a 中提取所有内容并使其也成为共享库?
-
@paulsm4 你确定这能解决问题吗?
标签: linux gcc g++ shared-libraries function-interposition