使用windeployqt将依赖DLL文件与可执行文件组合

问题描述 投票:0回答:1

使用windeployqt工具,运行程序所需的所有依赖文件都与可执行文件一起放置。我想将这些扩展名为 .dll 的依赖文件与扩展名为 .exe 的可执行文件合并。这意味着为了分发和运行程序,我只想有一个可执行文件(.exe)。

如果您能指导我完成此过程,我将不胜感激。

qt qml exe windeployqt
1个回答
0
投票

要在 Qt 中实现没有外部 DLL 依赖的单个可执行文件,可以使用 静态链接 代替动态链接。 静态链接将所有必需的库直接包含到可执行文件中,因此您不需要单独的 DLL 文件。

您需要添加

CONFIG += static

在您的 .pro 文件中,您还需要更改您的

qmake
配置。这意味着您必须通过使用 -static 配置 Qt 来静态构建 Qt。

如果您使用 Qt 公司提供的预构建二进制文件在线安装了 Qt,您将无法直接从安装的文件配置 Qt 进行静态构建。预构建的二进制文件由 Qt 公司配置为默认支持动态链接,并且它们不设计为在安装后重新配置。

要静态构建 Qt,您必须下载 Qt 源代码并使用所需的配置选项自行编译。

请观看此 YouTube 视频:

https://www.youtube.com/watch?v=chMNUzpN4pw

此外,您可以从此 Qt 文档中阅读更多内容:

https://doc.qt.io/qt-6/windows-deployment.html

© www.soinside.com 2019 - 2024. All rights reserved.