由于libstdc++导致的错误

Error due to libstdc++

本文关键字:错误 libstdc++ 由于      更新时间:2023-10-16

我在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?

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

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

你需要大量的下载和软件包安装,所以要为这项任务和你将要经历的经常性挫折预留几个小时。

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