使用使用较新版本的g ++编译的共享对象

时间:2011-05-04 19:11:47

标签: c++ linux g++ shared-libraries libstdc++

我有一些必须用g ++ 4.5编译的共享对象,我希望它们能够链接到使用g ++ 4.1和g ++ 4.2编译的应用程序中。

我的理解是,他们不能保证不同版本的libstdc ++会相互兼容,所以如果没有一些更改,这将无法正常工作。

有没有一种标准方法可以在目标机器上安装更新版本的g ++及其相关库?

2 个答案:

答案 0 :(得分:1)

只要架构相同,并且您没有使用新版本独有的功能,共享对象应该可以正常工作。

答案 1 :(得分:0)

如何测试它并查看它是否有效(与GCC版本不匹配)?如果它有效,就不需要对它有任何特别的麻烦。也就是说,除非你在这里处理生命支持系统,否则我猜不会。

如果STL容器等通过库的API传递,则更有可能在实践中遇到问题。如果库仅在内部使用STL,它可能“只是工作。”