3

我正在使用Qt/Mfc 迁移框架开始将一些 UI 代码从 MFC 转换为 Qt。我想知道我是否绝对必须将 Qt 迁移代码保存在单独的库中,或者是否可以将其包含在我的项目中。为了做到这一点,我必须稍微修改它(例如添加#include“stdafx.h”并更改一些其他包含路径)。Qt LGPL 异常也用于迁移框架,内容如下:

诺基亚 Qt LGPL 异常 1.0 版

作为 GNU 宽通用公共许可证 2.1 版的一个特殊例外,“使用库的作品”的目标代码形式可以包含来自作为库一部分的头文件的材料。您可以根据您选择的条款分发此类目标代码,前提是所包含的材料 (i) 不超过库总大小的 5%;(ii) 仅限于数值参数、数据结构布局、访问器、宏、内联函数和模板。

我会触发许可证还是我仍然处于绿色状态?

4

2 回答 2

4

要么我误解了你想做什么,要么你显然不被允许这样做。

您说您想“在我的项目中包含 Qt 代码”,这意味着您想将整个库(或您正在使用的所有部分)链接到您自己的模块中,而不是将其保存在单独的 DLL 中。

但是条款说您可以“合并头文件中的材料”(我的重点)而不是主库。

他们说“只要合并的材料 (i) 不超过图书馆总规模的 5%”,而不是整个图书馆。

他们说“仅限于数值参数、数据结构布局、访问器、宏、内联函数和模板”,而不是库的任何主要代码。

对我来说似乎很明显,但我误解了什么吗?

于 2009-08-31T11:10:00.703 回答
1

如果您想在 LGPL 条款下使用 Qt 解决方案的任何组件,则必须将其构建为 DLL。修改与否都没关系。

于 2009-08-31T11:36:12.057 回答