Qt应用部署

Qt application deployment

使用 Qt 部署应用程序需要哪些 dll 文件?我所说的必要是指所有应用程序共有的那些,而不是整个 dll 文件夹。 msvr120.dll 和 msvc120.dll 也有必要吗?感谢进一步的回答。

在这种情况下,

Dependency Walker 是你最好的朋友。

总之,要看你项目中使用了多少个Qt模块。

检查你的项目文件,例如:

QT       += core gui script

那么你需要

QtCore4.dll / Qt5Core.dll (QtCored4.dll / Qt5Cored.dll for debug)
QtGui4.dll / Qt5Gui.dll
QtScript4.dll / Qt5Script.dll

可以在Qt目录下的bin文件夹中找到。


至于msvr120.dllmsvc120.dll。您也可以分发它们,以防您的用户的 Windows 系统没有它们(例如像 Windows XP 这样的旧版本,但我不确定这些 dll 是否在旧版本的 Windows)

Windows Qt 安装包括 windeployqt.exe 部署助手,它将复制 Qt(如果您使用它,则 MinGW)库 .dlls。检查你的Qt安装目录,和qmake.exe

一样

来自 cmd 的基本用法:(将 --debug 替换为 --release 用于发布版本)

mkdir Deploy
copy /y /path/to/exe Deploy
cd Deploy 
windeployqt.exe --debug Prog.exe

除了必需的 .dll 文件外,它还会为所有内容提供可选插件、翻译文件和配置文件。您可以稍后删除不需要的文件和 upx 其余文件。

此处的其他信息:Qt for Windows - Deployment(感谢 peppe link)。 windeployqt.exe在页面底部提到。

注意:它无法部署 MSVC 运行时库。您需要它们的可再发行组件,以便您可以使用安装程序静默安装它们。