Linux下静态库和共享库中的同名函数
最近遇到一个静态库和共享库中函数冲突的问题,还请大家帮忙看一下:
为了说清楚,我举一个简化了的 例子:
一个程序,含有两个模块,ModuleA和ModuleB,其中ModuleA用到了共享库libA.so,而ModuleB用到静态库libB.a。其中libA.so和libB.a都是第三方的库,没有源码。
我需要在ModuleB中调用libB.a提供的函数helloWorld(),但libA.so中也提供了一个同名函数helloWorld()。像这样的同名函数还有很多。
问题是,在程序运行的时候,我发现ModuleB所调用的helloWorld()不是libB.a的,而是libA.so的。
请问有没有办法使ModuleB只调用libB.a中的某个函数,即使这个函数在其他库中也有定义。