我正在开发一个封闭源代码的应用程序,并按照 LGPL 这样做,我必须将 Qt 的库动态链接到我的应用程序。Qt 默认情况下会这样做还是我必须采取措施这样做?如果是这种情况,我将如何去做?
问问题
10889 次
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 回答