Qt Creator默认是静态链接还是动态链接它的库?

25

我正在开发一款闭源应用程序,为了符合LGPL的规定,我必须将Qt库动态链接到我的应用程序中。Qt是否会默认执行此操作,还是我需要采取措施来实现?如果是后者,我该如何操作?

2个回答

29

Qt默认使用动态链接。

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

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

LGPL不仅要求提供库与二进制文件一起,还要指定用户如何构建LGPL部分。如果您自己编译Qt并且不使用网站上的预编译二进制文件,则必须在发布版本中记录您的构建配置的这一部分!

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


我在官方文档中找不到这些信息。能提供一下来源吗? - rhardih

1

它默认这样做,根据网站上关于静态链接的许多问题,静态链接似乎相当复杂。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接