Qt Windows 部署过程

Qt Windows Deployment Process

我正在学习如何使用 Qt 创建应用程序。我创建了一个小应用程序,它 运行 在任何安装了 Qt 的机器上都能正常运行。我想使用动态链接的 Qt 库部署到 Windows。我按照 here 中的说明进行操作,在其他 Whosebug 文章的帮助下,我能够毫无错误地获得应用程序 运行ning,但现在什么也没有显示。应该有一个带有按钮等的小 UI,但它没有显示,尽管 Windows 任务管理器显示该应用程序正在 运行ning.

我的第一个想法是我丢失了一些 dll 文件,但即使我复制在 C:\Qt.5\msvc2013_64\bin 中找到的每个 dll,整个 C:\Qt。 5\msvc2013_64\plugins 目录,msvcp120.dll,msvcr120.dll 和 plaforms\qwindows.dll 到应用程序目录我仍然无法显示 UI。

相同的应用程序将 运行 在任何安装了 Qt 的 Win x64 机器上。我只是觉得要求用户将 700mb 的工具集下载到 运行 9kb 的应用程序并不是一个非常可靠的解决方案。

Qt 部署到 Windows 我缺少什么步骤?

关于细节,我已将其设为 open source project. 您可以在 bin/Win_x64 目录中查看应用程序的发布版本,其中包含我认为 运行 所必需的所有 .dll 文件] 应用程序。如果将该文件夹复制到未安装 Qt 的 Win x64 计算机上,那么您应该能够重现我的错误。

编辑1: 我被要求提供我的 build/Release 目录中的文件列表:

ArkCharacterSelector.exe
ArkCharacterSelector.res
CharacterManager.obj
Logger.obj
main.obj
moc_CharacterManager.cpp
moc_CharacterManager.obj
qrc_qml.cpp
qrc_qml.obj

以下是 master/bin/Win_x64 中缺少的文件:

bin/Win_x64
├── QtQuick (both dirs are from qt_base_dir/qml/QtQuick)
│   ├── Controls
│   └── Window.2   
├── QtQuick.2 (both files are from qt_base_dir/qml/QtQuick.2)
│   ├── qmldir
│   └── qtquick2plugin.dll
│
│   (Those are only needed for QtWebKit builds)
├── icudt53.dll
├── icuin53.dll
└── icuuc53.dll  

并且可以删除这些文件:

bin/Win_x64
└── platform
    ├── qwindowsd.dll (debug dll)
    └── qwindowsd.pdb (only needed for debugging the debug dll)

部署愉快!