qt - 一个非常简单的Qt程序的轻量级发布

标签 qt release-management

为了让其他人能够运行一个简单的 Qt4 程序,您需要提供 12 MB 的 DLL。
我最近升级到 Qt5,并惊讶地看到它增长到超过 41 MB。

这意味着,要发布一个简单的 GUI 程序,即使只是一个“Hello World”,并且仍然保持在 LGPL 下,它将超过 40 MB。

如果我想制作一个简单但有用的工具来(自由地)在 Internet 上分发,这是非常不方便的,因为它无法与其他使用更难开发的工具(例如 MS MFC 或甚至是 winapi,它设法控制在 100 kB 以下。

有没有可能制作一个简单的 Qt GUI 应用程序的轻量级、简约版本?

最佳答案

当您不自己编译 Qt 时,您不会走得太远。对于简单的 Qt GUI 应用程序,您至少需要 Qt5Core 和 Qt5Gui dll。它们不是很大,但是,可用的二进制文件依赖于 ICU。这个库有点大。如果您不需要 QWebKit,您可以禁用 ICU。当您不需要它时,可能还有一些其他东西可以禁用,但 ICD 是迄今为止最大的依赖项。

不要担心 LGPL。你不修改你的库。你只是不交付整个包裹。这不是 LGPL 的要求。因此,仅提供 Qt5Core 和 Qt5Gui 就完全没问题。即使您自己配置和编译了 Qt5。你没有更改 一个库的代码。

关于qt - 一个非常简单的Qt程序的轻量级发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511216/

相关文章:

deployment - 如何使用 Capistrano 部署到单个特定服务器

ios - 如何为要求略有不同的多家公司管理一个 Xcode iOS 应用程序存储库?

deployment - 免费安装向导软件

c++ - 使用继承信号解决 Q_PROPERTY NOTIFY

c++ - Qt 使用 isAutoRepeat() 处理 QPushButton Autorepeat() 行为

c++ - dll中的QT事件循环

android - TextField 文本字段在 QML 上不返回值 | QT 5.12

c++ - 在 QML 中调用 C++ 方法错误 "Cannot Call Method ' x' of null”

svn - SVN 中的发布管理

sql - 使用可变域用户登录创建用户脚本