如果软件是在 Ubuntu 上构建的,我可以在 RHLE 上运行它吗

如果软件是在 Ubuntu 上构建的,我可以在 RHLE 上运行它吗

我在 Ubuntu karmic 上构建了一个 qt 应用程序。我将二进制文件传输到 Red Hat Linux Enteprise 5.3 系统,当我单击该程序时,它什么也没做。它们兼容吗,还是我忘记了什么?两台计算机都运行四核 64 位 CPU

答案1

一般情况下不会。如果您有源代码,当然可以重新编译。失败的原因可能有很多,但通常应用程序无法从一个平台转移到另一个平台,因为它们链接到另一个平台未提供的动态库。(“不提供”这里也可以表示“提供了错误的版本”, 或者“已提供,但不在预期的位置”此外“就是不在那里”

如果您构建静态二进制文件,则它运行的可能性会大得多,因为它不依赖于外部库。但这并不能保证——由于内核不兼容或其他问题,您仍然可能会得到无法在其他平台上运行的二进制文件。

如果您在命令行上运行该程序,您应该会收到一条错误消息,该消息将帮助您确定它运行失败的确切原因。

答案2

嗯,你可能需要安装 KDE 所基于的 QT(Troll Tech 的 gui 库)。只要继续尝试直到它工作,安装库(使用 yum 很容易,可能,也许你需要从它想要的版本到你拥有的版本建立一个符号链接。

相关内容