最初,我在Ubuntu上编译我的项目(Qt),分发deb文件,有些人抱怨说,我的应用程序无法执行,因为他们的操作系统使用libc 2.14甚至更少。因此,不同的Linux发行版带有不同的库版本。我应该使用哪个Linux发行版进行编译,以便我的应用程序可以在所有Linux发行版上运行。问题主要是由一些稳定的Linux Distros使用的旧版C库引起的。
答案 0 :(得分:1)
如果您尝试针对非常旧版本的libc编译二进制文件,可能会在运行最新版本的发行版的计算机上失败,因为compat-
可能没有libc
个软件包支持非常旧版本的libc
。
相反,如果你尝试使用一个非常新的版本,它将在旧机器上中断。
因此,对CentOS 6
或Ubuntu 10.04
这样的发行版进行编译对我来说似乎是一个合理的中间地带。
答案 1 :(得分:0)
您可以使用Ubuntu但可能使用早期版本(10.04 LTS)。通常不鼓励静态链接到libc但运行早期版本的机器,您可以使用旧的libc并添加apt pinning以从以后的发行版中获取更新的包。