我已经在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库。
从7.3开始就有了libstdc++-3-libc6.2-2-2.10.0.so库。
如何创建同时适用于Suse7.3和Fedora13的二进制文件?
发布于 2013-07-09 19:35:04
您不太可能构建一个可以同时在这两个平台上运行的二进制文件。
如果您别无选择,只能尝试一下,那么您需要找到旧库的包,并将它们安装在您的Fedora系统上。我甚至不会想着走另一条路。
你需要大量的下载和安装软件包,所以要为这项任务和你将要经历的常规挫折留出几个小时。
最好在每个系统上编译一个版本的可执行文件
https://stackoverflow.com/questions/17546673
复制相似问题