linux同名动态库如何同时使用的探究

目前还在研究,没有明确是的方法

方法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

posted @ 2020-09-23 22:11  大老虎打老虎  阅读(542)  评论(0编辑  收藏  举报