根据ABI 政策和指南,我是否应该使用
GCC 3.4.0 and libstdc++.so.6.0.0
编译可在每个GNU/Linux
发行版(相同的 CPU 架构)上运行的二进制可执行文件,并libstd++.so.6
安装了任何较新的版本?这个二进制文件是否与每一个都向前兼容libstd++.so.6
?
(为什么不在 gcc-help 邮件列表上问这个问题,这样你就可以从知道他们在说什么的人那里得到权威的答案?)
是的,链接到 libstdc++.so.6.0.0 意味着二进制文件可以在链接到任何更高版本的 libstdc++.so 时运行,但这不足以确保二进制文件可以在任何 GNU/Linux 系统上运行。您还需要确保使用旧版本的 libc.so (ieglibc) 和您链接的任何其他库。使用 GCC 3.4.0 编译和链接但链接到 Glibc 2.15 可能意味着您的二进制文件无法在 Glibc 2.14 或更早版本的系统上运行,无论它们具有什么 libstdc++ 版本。