23

我正在开发一个封闭源代码的应用程序,并按照 LGPL 这样做,我必须将 Qt 的库动态链接到我的应用程序。Qt 默认情况下会这样做还是我必须采取措施这样做?如果是这种情况,我将如何去做?

4

2 回答 2

27

Qt 默认使用动态链接。

在部署到非开发人员机器时,您会立即注意到这一点,因为没有 Qt 库,您的代码将无法运行。

如果您关心的是 LGPL,那么在编译 Qt 本身时要小心。大多数与 Qt 的 LGPL 违规不是因为静态链接(因为动态是默认值),而是因为使用非默认参数编译 Qt。

LGPL 不仅是必须在您的二进制文件中提供该库,而且您还可以指定您的用户如何构建自己的 LGPL 部分。如果您自己编译 Qt 并且不使用网站上的预编译二进制文件,则必须在您的版本中记录您的构建配置的那部分!

一旦你在你的程序上运行了一些东西,就开始为没有安装 Qt 的非开发人员环境准备一个发布版本。一旦您删除必须沿程序复制的 DLL(或您的操作系统使用的任何格式),您的程序就会失败。

于 2012-07-23T07:33:31.830 回答
1

默认情况下它会这样做,从网站上有关它的许多问题来看,静态链接似乎相当复杂。

于 2012-07-23T07:06:52.937 回答