我正在使用Qt/Mfc Migration Framework开始将一些UI代码从MFC转换为Qt。我想知道我是否必须将Qt迁移代码保存在一个单独的库中,或者是否可以将它包含在我的项目中。为了做到这一点,我将不得不稍微修改它(例如添加#include“stdafx.h”并更改其他一些包含路径)。 Qt LGPL异常(也用于迁移框架)读作:
诺基亚Qt LGPL Exception 1.0版
作为GNU宽通用公共许可证的特殊例外 版本2.1,“使用库的工作”的目标代码形式 可以合并来自头文件的材料 图书馆。您可以根据您的条款分发此类目标代码 选择,但所包含的材料(i)不超过 超过图书馆总面积的5%; (ii)仅限于 数值参数,数据结构布局,访问器,宏, 内联函数和模板。
我会触发许可证还是我还在绿色?
答案 0 :(得分:4)
要么我误解了你想做什么,要么你显然不允许这样做。
你说你想“在我的项目中包含Qt代码”,这意味着你想要将他们的整个库(或你正在使用的所有部分)链接到你自己的模块中,而不是将它保存在单独的DLL。
但条款说你可以“合并来自头文件的材料”(我的重点)而不是主库。
并且他们说“假设所包含的材料(i)不超过图书馆总面积的5%”,不整个图书馆。
他们说“仅限于数字参数,数据结构布局,访问器,宏,内联函数和模板”,不是库的任何主要代码。
对我来说看起来很明显,但我误会了什么?
答案 1 :(得分:1)
如果要在LGPL条款下使用Qt解决方案的任何组件,则必须将其构建为DLL。无论你是否修改它都无关紧要。