目前还在研究,没有明确是的方法
方法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
原文链接: https://www.cnblogs.com/wangshaowei/p/13721432.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/391122
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!