7

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

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

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

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

4

2 回答 2

4

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

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

于 2013-08-29T12:57:55.157 回答
3

您绝对可以进行静态链接并保持 LGPL 兼容。那么,您需要提供的是与 Qt 链接的目标文件。这样其他人就可以使用他们自己的,也许是修改过的 Qt,并将其与您的对象静态重新链接。这是处理它的名义上的方式。

有关如何合规的合理示例,请参阅QM 建模工具的合规包

于 2013-08-29T18:31:41.603 回答