【问题标题】:Do I have to link my shared library with QWebKit (11Mb) if it's already linked with my host app?如果我的共享库已经与我的主机应用程序链接,我是否必须将我的共享库与 QWebKit (11Mb) 链接?
【发布时间】:2010-12-28 00:02:14
【问题描述】:

我正在用 Qt 编写一个使用 QWebKit 访问网页的应用程序。 我想将一些功能提取到可以自动更新的 dll 中,但似乎我必须将 QWebkit 与主机应用程序和我的 dll 链接起来,这将为应用程序安装程序增加额外的 11Mb,并且额外的 11Mb 用于自动更新不是我想要的正在寻找。

有没有办法将 webkit(以及 xml 和 gui)仅链接到宿主应用程序并让共享库在加载到宿主应用程序时使用它? 谢谢。

【问题讨论】:

    标签: qt shared-libraries


    【解决方案1】:

    如果您将 Qt 用作共享库 (dll) 而不是静态链接,那么您只需提供一份 webkit dll 的副本。

    如果您是静态链接,则需要将 webkit 链接到应用程序需要它的任何部分。如果您的主应用程序和您要提取的部分都需要 webkit,那么您需要将其链接两次。

    除非您确实需要尽可能小的程序大小,否则我建议不要静态链接到 Qt,而只发送您需要的 dll。这样做比静态链接要简单得多。

    【讨论】:

    • 有趣的是,我在主机应用程序中使用 QT 作为共享库,但我的 dll 与 QT 静态链接。在 QT Creator 中找不到任何对此负责的选项。我应该在哪里检查?
    • 我对 Qt Creator 不熟悉。如果您在它的项目配置对话框中没有看到任何明显的内容,您可能需要直接编辑 .pro 文件。
    • 谢谢,但它似乎在 IDE 中的某个地方但我找不到它,或者根本不是静态链接。
    • 好吧,我发现那 11Mb 只是调试信息,在发布模式下 .dll 大小减小到大约 .5Mb,这很好。
    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多