目前还在研究,没有明确是的方法
方法1是重命名其中一个库,如果库中有同名的符号的话,可以使用
-fvisibility=hidden,编库的时候对函数加上就可以不对外暴露此接口
-Bsymbolic 强制采用本地的全局变量定义,这样就不会出现动态链接库的全局变量定义被应用程序/动态链接库中的同名定义给覆盖了
方法2采用wrapper 库,但是链接符号的问题还没搞清楚,先放几个相关链接
https://stackoverflow.com/questions/6538501/linking-two-shared-libraries-with-some-of-the-same-symbols 这个说的最相关
http://www.voidcn.com/article/p-vgeuuxhf-btv.html
https://stackoverflow.com/questions/565459/c-wrapper-with-same-name
https://stackoverflow.com/questions/19739828/how-to-rename-a-shared-library-to-avoid-same-name-conflict
间接依赖库so的路径问题
https://www.cnblogs.com/oloroso/p/13224975.html