C++动态库重命名冲突解决方法

参考资料:
https://blog.csdn.net/cpucooler2011/article/details/38371323

总结:

  1. Windows平台下不存在该问题,因为windows在编译动态库的时候,会要求coder强制使用export import等修饰符来明确指定要保护和要暴露的API.如果没有指定,编译直接报错了,因此不存在动态库在后续调用出现问题的可能;
  2. Linux/Android平台下使用GCC编译动态库,GCC默认所有定义的函数都是可导出的,也即visibility=default,因此很容易出现函数覆盖的问题,需要主动的在编写接口代码和编译的时候明确指定导出的API,否则出了问题,GCC不给你擦屁股;
原文地址:https://www.cnblogs.com/thisisajoke/p/13364367.html