【发布时间】:2013-07-09 11:07:49
【问题描述】:
我在 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 的二进制文件?
【问题讨论】:
-
Suse 版本很古老,这基本上是它不起作用的原因。我会去更新而不是一起破解一些东西(即你可以静态链接 libstdc++ ...)