我使用 Qt 开发了一个 C++ 应用程序作为图形界面,现在我想将它发布到 Linux 和 Windows 上。我一直在浏览文档、论坛和教程,但我无法真正理解需要做什么......
我对使用的不同术语感到非常困惑:发布和部署之间有什么区别?您什么时候需要安装程序?如果需要,如何创建一个?
创建 Windows .exe 有哪些不同步骤?以及不同版本的 Linux(Debian、Ubuntu、Ubuntu Mate)的等效项?
我目前使用的是 Ubuntu,并使用 Qt Creator 来编写应用程序。
据我所知,我需要部署共享库。
任何对初学者的帮助、答案、指南或文档都会有很大的帮助,非常受欢迎:)
有多种方法可以部署您的应用程序
1. 使用 Windeployqt/linuxdeployqt 部署应用程序
这是最简单的方法,windeployqt 或 linuxdeployqt 是一个应用程序,它将所有必需的依赖项复制到可执行文件夹。准备在另一台计算机上运行。
步骤很简单:
注意:linuxdeployqt是第三方的。
2. 静态构建
静态构建最终将是一个包含所有 Qt 代码的二进制文件。您可以将单个二进制文件发送给某人,不需要额外的库来运行它。可执行文件更大,因为所有 Qt 代码都链接在可执行文件内。
步骤如下:
切换到文件夹并输入
./configure -static -static-runtime
nmake或make静态构建 Qt。qmake.exe或。qmake3. 离线/在线安装程序
这一步需要一些阅读和微调。Qt 附带了IFW(安装程序框架),您可以在其中创建在线和离线安装程序。安装程序将包含.7z可执行文件和所有依赖项的文件。安装程序对用户来说更加舒适。它可以创建快捷方式、检查可用磁盘空间等。
IIRC 您需要为 MSVC 静态构建安装程序,或者必须提供运行时库。如果使用 MingW 构建,您可能不需要任何运行时库。
这取决于您选择哪种方法。如果您拥有商业许可证,您可以将所有闭源作为静态构建发布,但一般来说,最好将其作为动态构建发布,特别是如果您使用 OpenSSL,用户可以在需要时自行快速交换易受攻击的库。