如何捆绑 Linux 的应用程序?

How to bundle an application for Linux?

我正在编写一个使用 Qt5.3 的 C++ 应用程序。它使用 5.3 的 WebSocket 支持,所以我无法使用早期版本构建它。此外,它使用 QT 的 WebKit 支持,所以我无法静态构建它。

此应用程序必须支持遗留发行版,例如 Ubuntu 14.04 LTS,存储库中没有 Qt5.3。

如何使我的应用程序支持没有 Qt5.3 的发行版?

这里对如何构建 Linux 部署包进行了很好的讨论:http://doc.qt.io/qt-5/linux-deployment.html

我会亲自运送我需要的共享库并将它们安装在系统之外 /usr/lib space,然后使用 LD_LIBRARY_PATH 指向它们。这样你就知道你在当前版本的 Qt 上 运行 它,并且你已经针对它进行了测试。缺点取决于您 link 反对的库数量,您最终可能会得到一个相当大的部署包。