兼容libstdc ++。所以libgcc_s.so在将GCC 4.1升级到GCC 4.8.2时

时间:2015-06-09 12:10:59

标签: c++ linux c++11 gcc

我正在研究目前在Linux上使用GCC 4.1构建的大型C / C ++应用程序,我们预先构建了许多第三方静态和动态库依赖项,以帮助减少编译时间

我们正在考虑升级到GCC 4.8.2。虽然我知道重新编译所有依赖项以使用4.8.2是最安全的,但我想知道如果我按原样离开所有预构建的第三方库可能会出现什么样的问题,并且只重建了我们的主要应用程序和内部库。

虽然许多库都支持纯C接口,但有几个是C ++接口,它们在方法签名和头文件中包含std库对象。

基于this GCC page on C++11 compatibilitythis one on general C++ ABI & stdlib API/ABI compatibility,我认为它应该可以正常工作,前提是我编译了所有禁用C ++ 11功能的库。

问题1:如果我要混合这样的东西会有什么问题?

问题2:是否可以启用C ++ 11语言功能(例如C++11's auto keyword),但是可以链接非C ++ 11 libstdc ++(或非C ++ 11 std对象符号) ?我猜这个简单的答案是" no",因为很多标准库都是模板头文件,我怀疑名称修改可能已经改变以区分C ++和C ++ 11符号。

0 个答案:

没有答案