【问题标题】:Does Qt creator by default statically or dynamically link it's libraries?Qt 创建者默认是静态还是动态链接它的库?
【发布时间】:2012-07-23 06:51:51
【问题描述】:

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

【问题讨论】:

    标签: qt qt-creator


    【解决方案1】:

    Qt 默认使用动态链接。

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

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

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

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

    【讨论】:

    • 我在官方文档中一直没能找到这个信息。愿意提供来源吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多