GCC和Libstdc++的向前兼容性问题

5
根据ABI政策和指南,我需要使用什么是真的吗?
GCC 3.4.0 and libstdc++.so.6.0.0

编译二进制可执行文件,使其在任何安装有较新版本的libstd++.so.6的相同CPU架构的GNU/Linux发行版上运行。这个二进制文件是否能够与每个libstd++.so.6向前兼容?

4
gcc 3.4.0 是相当古老的东西...... - littleadv
1个回答

6
为什么不在gcc-help邮件列表上询问这个问题,以便从明白问题的人那里得到权威答案呢?是的,链接到libstdc++.so.6.0.0意味着二进制文件可以在链接到任何后来的libstdc++.so版本时运行,但这并不足以确保二进制文件可以在任何GNU/Linux系统上运行。您还需要确保使用较旧版本的libc.so(即glibc)和其他任何库进行链接。使用GCC 3.4.0进行编译和链接,但链接到Glibc 2.15可能意味着您的二进制文件无法在具有Glibc 2.14或更早版本的系统上运行,无论它们有哪个libstdc++版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接