gpt4 book ai didi

windows - 使 qt 分布整洁。删除部分dll?

转载 作者:可可西里 更新时间:2023-11-01 11:55:47 26 4
gpt4 key购买 nike

我在windows上做了一个qt程序。我想和我的 friend 分享。但我的 friend 使用纯 Windows 7。

如果我能只包含需要的 dll 就好了。如果我可以删除未使用的部分 dll,那就更好了。(减少dll的大小)

我该怎么做?谢谢

最佳答案

尝试以任何方式减小实际 DLL 的大小都意味着删除代码,这是一个非常糟糕的主意。如果您有以下任一情况,您仍然可以更改 Qt 源:

  • 拥有商业执照
  • 分享所做的所有更改

...话虽这么说,但在您的特定情况下,这不是解决问题的方法。

尝试减少所需 DLL 的数量是另一回事 - 您的应用程序通常只需要它所需模块的 DLL。但是有些模块依赖于其他模块,因此您最终可能会为您自己不使用但在内部某处使用的东西获取 DLL。例如,对于基于 QWidget 的项目,您最终可能会依赖于 Direct3D DLL,这是因为许多现有的 Qt 构建都是为了使用 ANGLE 而构建的,ANGLE 是基于 DirectX 的仿真OpenGL (ES) 2 层。您可以使用用于桌面 OpenGL 的 Qt 构建来删除一些 DLL,但与 Qt DLL 相比,它们相当小。从 Qt 中省略 webkit 是删除几 MB 的 DLL 依赖项的好方法。

peppe 已经提到了最后一个选项——静态链接,它要求您对 Qt 本身进行静态构建。并且有一些限制 - 如果您想分发封闭源/商业应用程序,您必须拥有该特定平台的商业 Qt 许可证。对于开源的东西和测试目的,我想这没问题。静态构建非常好,因为它们提供了更好的性能,并且您最终会得到一个大约 8-9 MB 的基本 GUI 应用程序(QtCore/QtGUI 和 QtWidgets)文件。上次我检查时,QtQuick/QML 应用程序不适用于静态构建。

关于windows - 使 qt 分布整洁。删除部分dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17389400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com