在旧系统上运行的较新的gcc二进制文件

时间:2010-09-10 19:55:52

标签: gcc shared-libraries binary-compatibility

我有一个用gcc 4.4.0编译的二进制文件,我试图在一个没有gcc 4.4.0的旧系统上运行它。它不起作用。错误不是它找不到符号,而是它没有正确运行并挂起。系统之间的差异是CentOS 5.5 vs 5.2,以及gcc 4.4.0 vs 3.4.6。

如果不安装gcc 4.4.0,我该怎么做才能让它在该系统上运行?我们可以使用运行时库吗?简单地复制依赖并设置库路径似乎不起作用。

二进制文件需要gcc 4.4.0的功能。

2 个答案:

答案 0 :(得分:1)

如果您正在编译,请在具有旧版GLIBC库的计算机上执行此操作。 我在VirtualBox中设置了一个Debian,在编译Apache,MySQL和PHP时它完美无瑕。

答案 1 :(得分:1)

我遇到了最近我不得不这样做的情况。我的解决方案是将可执行文件编译为静态链接的应用程序,这样我的应用程序和所需的库之间的兼容性就没有问题。