我正在开发一个封闭的源代码应用程序并按照LGPL这样做我必须动态地将Qt的库链接到我的应用程序。 Qt是默认执行此操作还是必须采取措施?如果是这样的话,我该如何去做呢?
答案 0 :(得分:24)
Qt默认使用动态链接。
在部署到非开发人员计算机期间,您会立即注意到这一点,因为没有Qt库,您的代码将无法运行。
如果你担心的是LGPL,那么在编译Qt时要小心。使用Qt的大多数LGPL违规不是因为静态链接(因为动态是默认值),而是使用非默认参数编译Qt。
LGPL不只是必须在您的二进制文件中提供库,而且还指定您的用户如何自己构建LGPL部分。如果您自己编译Qt并且不使用网站上预编译的二进制文件,则必须在您的版本中记录构建配置的那一部分!
只要您的程序运行正常,就可以在没有安装Qt的情况下为非开发人员环境准备发布版本。一旦删除必须沿程序复制的DLL(或操作系统使用的任何格式),您的程序就会失败。
答案 1 :(得分:0)
默认情况下,静态链接似乎与网站上有关它的许多问题相关。