Qt 和可执行 dll 的

Posted

技术标签:

【中文标题】Qt 和可执行 dll 的【英文标题】:Qt and executable dll's 【发布时间】:2014-03-26 15:00:34 【问题描述】:

我已经发布了一些关于这个的帖子,但仍然没有答案!

我假设很多人在 Qt creator 中编程,我有,这很棒.. 唯一的问题是 dll 的可执行文件需要工作,大部分大小来自 icu 文件!

假设你创建了一个程序,一个做某事的简单程序,大小通常在 30mb 左右!与所有的 dll !这只是很多!

我没有看到很多有相同问题的帖子,这是为什么呢?人们有没有想出一个解决方案或什么的?

Qt 5.2.1,msvc 2012

【问题讨论】:

因为关心分配大小的人可以自己编译Qt,无需ICU。 + 使用 UPX 压缩运行时。 Qt app and icu files 的可能重复项 “我已经发布了一些关于这个的帖子,但仍然没有答案!”请不要那样做。这不是一个讨论论坛。理想情况下,SO 上的每个问题都应该有一份副本。重复项可能会关闭。 @Dmitry Sazonov 我想是的,谢谢你,我实际上正在关注 Kuba Ober 所说的话。 【参考方案1】:

您可以compile Qt to link statically。使用 core + gui + widgets 模块的 UPX 压缩可执行文件,没有其他依赖项(不需要 MSVC 运行时!),大小约为 5MB。 Qt 4 也是 4MB,所以差别不大。如果你不需要 webkit,你可以在禁用 ICU 的情况下重新编译 Qt,因为只有 webkit 对 ICU 有硬依赖。

【讨论】:

首先抱歉重复了,我一直在寻找答案 3 天了,我检查了帖子,很好 ^^,我想我会编译一个静态版本。谢谢你

以上是关于Qt 和可执行 dll 的的主要内容,如果未能解决你的问题,请参考以下文章

如何创建清单文件以将我的可执行文件/插件指向我的特定版本的 Qt.dll?

Qt写的截图软件包含源代码和可执行程序

Qt 编译好的 可执行文件 不能运行是怎么回事?

如何在 Windows 上使用 QT Creator 独立编译?

为 Qt 项目创建可执行文件

cpp文件是怎么变成可执行文件的?动态链接库又是啥呢?