应用程序可以同时依赖于两个不同版本的libstdc ++吗? (例如:libstdc ++ 5和libstdc ++ 6)?方案是 - 一些二进制文件依赖于libstdc ++ 6但加载了依赖于libstdc ++ 5的.so ...
有没有机会工作?
答案 0 :(得分:3)
最重要的是,您需要检查这两个版本的库是否与二进制兼容。例如,G ++ 3.3和3.4不是。
即使它们是: *可能存在名称错位问题 *你不能做交叉模块分配/解除分配(不管怎样一个坏主意) *您可能无法解决STL模块
答案 1 :(得分:1)
我刚刚将AS3 / GCC323的C ++应用程序移植到AS4 / GCC346。虽然app本身链接到libstdc ++。所以它链接到的一些库仍然链接到libstdc ++。so.5。当我试图运行它时,Depsite成功建立了SEGV。
一旦我在AS4 / GCC346上重新编译了库,应用程序和库只链接到libstdc ++。so.6并且不再出现SEGV。
所以我会说答案是肯定的,你不能把它们都联系起来。
乔恩