假设我有2个静态库S1
和S2
,它们是同一个库的不同版本,并且具有相同的C(不是C ++)接口,尽管实现方式有所不同。 2个共享库D1
和D2
,每个共享库仅链接到S1
或S2
。假设应用程序A
与S2
链接,后者是最新的静态库,并通过D1
动态加载D2
和dlopen
。是D1
只是使用S1
的功能,还是有什么方法可以强制它使用S2
的功能?在此设置中有什么地方出错吗?
编辑:使共享对象S
绕过此问题的好方法,因为D1
和D2
都可以链接到S
呢?
最佳答案
是D1
只是使用S1
的功能,还是有什么方法可以强制它使用S2
的功能?
是的,D1
将使用S1
功能。
不可以,您不能强制它使用S2
函数。
在此设置中有什么地方出错吗?
这取决于您的库中的内容。
关于c++ - 共享对象符号解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3931809/