3

我在 Fedora13 操作系统上编写了一个简单的“Hello World”C++ 程序,它在 Fedora 13 上运行正常。但是当我尝试在 Suse7.3 上运行相同的二进制文件时,它给出了错误:

Inconsistency detected by ld.so: dynamic-link.h: 62: elf_get_dynamic_info: Assertion ! "bad dynamic tag"' failed!

之后我在 Suse7.3 上编译了相同的代码并在 Fedora13 上运行了一个二进制文件,然后它给出了错误:

./a.out: symbol lookup error: ./a.out: undefined symbol: cout

由于libstdc++库而发生此问题。

Fedora 13 有libstdc++.so.6.0.13库。

Suse7.3 有libstdc++-3-libc6.2-2-2.10.0.so库。

我将如何创建适用于 Suse7.3 和 Fedora13 的二进制文件?

4

1 回答 1

4

您不太可能能够构建将在两者上运行的二进制文件。

如果您别无选择,只能尝试,您需要查找旧库的软件包并将它们安装在您的 Fedora 系统上。我什至不会考虑走另一条路。

您需要进行大量下载和软件包安装,因此请预留几个小时来完成这项任务以及您将经常遇到的挫败感。

你最好在每个系统上编译一个可执行文件的版本

于 2013-07-09T11:35:03.657 回答