是否可以将用c ++ 11编译的库链接到需要用c ++ 03编译的代码

时间:2016-06-20 11:11:10

标签: c++11 compilation c++03 ogre bulletphysics

我有使用c ++ 03编译的食人魔渲染代码,但没有编译c ++ 11。

我有子弹物理代码,用c ++ 11编译但不用c ++ 03编译。

现在我想联系他们。是否可以使用c ++ 11编译项目符号代码,并从使用c ++ 03编译的食人魔代码中调用结果库。

我的gcc版本4.8.4

OGRE是静态构建的。 Bullet也构建为静态。

1 个答案:

答案 0 :(得分:1)

是的,只要您使用相同的libstdc ++ ABI,并且随着g ++ 5.1(参见using dual abi)引入了新的C ++ 11 ABI,就可以了,它应该没问题。

编辑:请参阅this answer以获得更完整的答案,特别是关于ABI与g ++ 4.7.0和g ++ 4.7.1的不兼容性