8

我正在编写一个(闭源)应用程序,将为所有三个主要平台(MacOS X、Linux 和 Windows)提供二进制文件。它在 LGPL 许可下使用 Qt,因此我需要动态链接 Qt 库。我了解如何通过简单地为应用程序提供 Qt 动态库来为 MacOS 和 Windows 捆绑应用程序,但我不确定如何为 Linux 正确执行此操作。

以包(.deb 和 .rpm)的形式提供应用程序并允许包系统解决依赖关系是传统的做法。应该使用这种方法吗?如果是这样,我应该瞄准哪个发行版(我假设是 Ubuntu 和 Fedora)?如果有人有这方面的经验,我很想听听。

4

3 回答 3

3

debrpm并且tarballs是正确的方法。我知道有一些非标准方式,您可能还想考虑这些方式,它们与发行版无关。

  • Makeself - 自解压包含您的应用程序的 shell 脚本。这被闭源软件发行商广泛使用。
  • ZeroInstall - 对于非 root 安装很有用。
  • Listaller - 与自动安装合并,目前似乎不稳定。
于 2011-04-26T09:22:20.393 回答
2

你需要为 Linux 提供至少 3 个包;一个 .deb 用于基于 Debian 的系统,一个 .rpm 用于基于 RPM 的系统,以及一个 tarball 用于其他所有系统。有些人发现有必要根据软件对库的确切要求,对其进行改进,为 Fedora、SuSE、Mandriva 和 RHEL 提供三个或四个不同的 .rpm 包。

于 2011-04-26T08:36:47.030 回答
0

有很多方法可以做到这一点......但如果你想要一个分发通用的方式来捆绑 Linux 应用程序,你可以检查这个http://codevarium.gameka.com.br/deploying-cc-linux-applications-支持 32 位和 64 位/)教程。它展示了如何将所有依赖项复制到库文件夹并制作 shell 脚本以正确执行包。

于 2012-01-09T21:44:41.000 回答