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)
部署愉快!
我正在学习如何使用 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)
部署愉快!