-1

我的应用程序在 OSX 和 Win 上运行,但很难跟踪 Linux 所需的所有依赖项。理想情况下,我希望能够在 Fedora、CentOS 和可能的 Ubuntu 上运行它。然而,Ubuntu 的优先级较低。

有人会帮我解决这个问题吗?我可以很好地解决 Linux 问题,但我不是专业人士。这让我很困惑。

http://www.genecrucean.com/tmp/KickAssGUI.tar.gz(这是一个简单的 GUI 应用程序,用于名为 Arnold 的 3D 渲染器。www.solidangle.com)

4

1 回答 1

5

当前,您的 tarball 包含 Qt 5 的二进制 .so 文件。这通常不是在 Linux 上执行此操作的方法。您可以提供程序的源代码并让用户自己构建它,或者您可以为相关的 Linux 发行版提供预构建的包(.rpm 或 .deb)。这意味着专门为某个版本的 Fedora、CentOS 和 Ubuntu 构建软件包。这些包将依赖于 libqt5,这是 Linux 发行版本身提供的一个包。要查找更多依赖项,请使用 ldd:

$ ldd program

在不同的 Linux 上运行相同的编译二进制文件通常是禁忌,因为底层共享库的版本存在差异,尽管有些公司这样做,即用于商业游戏。如果您使用静态链接,那么它可以工作。直到他们在内核中改变了一些大的东西。

您还应该考虑目标架构:ia32、amd64 或其他。

也许这个问题在 ServerFault 上得到更好的回答。

于 2013-03-23T20:50:47.277 回答