6

根据 LSB 扫描仪,我的二进制文件据说与特定版本的 Linux 不兼容,因为它使用 GBLICXX_3.4.9 符号。但是当我尝试自己在该版本上运行二进制文件时,一切似乎都运行良好......

如果该发行版缺少包含所需符号的运行时库,二进制文件甚至可以在 Linux 发行版上启动吗?

4

2 回答 2

3

我不知道我是否很好地理解了这个问题,但据我所知,即使您使用现代 glibc 编译了您的程序,也不一定意味着您将无法执行旧版本。下一个 Linux 命令:

objdump -T "your exe or lib file" | grep GLIB

将向您显示您的程序的符号属于哪个版本的 glibc。

有关更多信息,有一篇名为How to write shared libraries by Ulrich Drepper 的论文解释了很多关于符号在 linux 中的工作原理,不仅适用于共享库,还适用于可执行文件

于 2010-02-18T22:57:08.063 回答
3

我怀疑他们是在警告您,您使用的符号即使在您的测试系统上可用,也可能并非在所有符合 LSB 的系统上都可用。

于 2010-02-18T23:16:30.557 回答