最初,我在 Ubuntu 上编译了我的项目 (Qt),在分发 deb 文件时,有人抱怨说我的应用程序无法执行,因为他们的操作系统使用 libc 2.14 甚至更低版本。因此,不同的 Linux 发行版带有不同的库版本。我应该使用哪个 Linux 发行版进行编译,以便我的应用程序可以在所有 Linux 发行版上运行。该问题主要是由一些稳定的 Linux 发行版使用的旧版 C 库引起的。
问问题
262 次
2 回答
1
如果您尝试针对非常旧版本的 libc 编译二进制文件,它可能会在运行最新版本发行版的机器上失败,因为可能没有compat-
支持libc
非常旧版本的libc
.
相反,如果您尝试使用非常新的版本,它会在旧机器上损坏。
所以在一个发行版上编译,CentOS 6
或者Ubuntu 10.04
对我来说似乎是一个合理的中间立场。
于 2013-03-02T20:26:22.020 回答
0
您可以使用 Ubuntu,但也可以使用更早的版本(10.04 LTS)。通常不鼓励静态链接到 libc,但在运行早期版本的机器时,您可以使用旧的 libc 并添加 apt pinning 从以后的发行版中获取更新的包。
于 2013-03-02T20:10:11.423 回答