Qt - 如何将 Qt 运行时 DLL 复制到输出路径

Posted

技术标签:

【中文标题】Qt - 如何将 Qt 运行时 DLL 复制到输出路径【英文标题】:Qt - How to copy the Qt runtime DLLs to the output path 【发布时间】:2015-07-08 17:30:33 【问题描述】:

我需要在构建时将 Qt 运行时 DLL 库复制到输出路径。 我做了很多搜索,找到了很多主题,但没有一个有帮助。

【问题讨论】:

对我来说复制和粘贴效果很好:D 在@techneaz 回答我的问题之前,我什至不知道 DLL 在哪里...... 你本来可以这么问的! :D 我认为这样做是一种“简单的方法”,而不是手动进行。 您可以安装一个名为 listary 的应用程序。可以帮助你快速找到dll。 【参考方案1】:

最方便的方法是使用The Windows Deployment Tool 来部署您的应用程序。 Windows 部署工具可以在QTDIR/bin/windeployqt.exe 中找到。它会自动将所有必要的 dll 文件放在您的应用程序目录中。

打开您的命令提示符并将路径添加到您的 Qt 目录,它是 bin 文件夹到 PATH 变量,如:

set PATH= path\to\Qt\bin

接下来以您的应用程序路径作为参数运行 Windows 部署工具:

windeployqt.exe  <path-to-app-binary>

这样您可以确保部署的应用程序可以在任何计算机上运行,​​并且您已包含任何必要的内容。

【讨论】:

【参考方案2】:

    在发布模式下编译您的项目

    找到运行应用程序所需的库

    对于 Qt 的标准安装,库可以在

    中找到

    [Qt 安装目录][Qt 版本的文件夹名称][文件夹名称 与编译器类型]\bin

    示例:Qt 5.3 安装在 C:/Qt 和 mingw4.8.2 32 位编译器,.dll 文件将在 目录:

    C:\Qt\5.3\mingw482_32\bin

    要找出您需要的库,您可以运行 应用程序外部 Qt Creator(缺少的.dll 文件将显示在弹出的错误消息中)或者您可以使用名为 dependency walker 的程序。

    将这些 .dll 文件复制到具有 .exe 的发布文件夹中 您的应用程序示例:Qt5Core.dll、Qt5Gui.dll 等。

一旦您拥有所有必需的 .dll 文件,您就可以在 Qt Creator 之外运行您的应用程序。

【讨论】:

以上是关于Qt - 如何将 Qt 运行时 DLL 复制到输出路径的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OpenSSL 部署 QT 应用程序

如何运行 Qt 应用程序?

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

如何手动将 Qt .rep 复制到 .h,然后将它们 moc 到 .cpp

Qt 在 Windows 中部署应用程序所需的 dll

电脑显示Qt5Core.dll 丢失