我正在学习如何使用Qt创建应用程序。我创建了一个在安装了Qt的任何机器上运行良好的小应用程序。我想使用动态链接的Qt库部署到Windows。我按照发现here的说明进行操作,并在其他Stackoverflow文章的帮助下,我能够正常运行应用程序,但现在没有任何显示。应该有一个带有按钮等的小UI,但是尽管Windows任务管理器显示应用程序正在运行,但它并没有被显示。
我的第一个想法是我丢失了一些dll文件,但即使我复制了在C:\ Qt \ 5.5 \ msvc2013_64 \ bin中找到的每个dll,整个C:\ Qt \ 5.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计算机上,那么您应该可以重现我的错误。
EDIT1: 我被要求提供构建/发布目录中的文件列表:
ArkCharacterSelector.exe
ArkCharacterSelector.res
CharacterManager.obj
Logger.obj
main.obj
moc_CharacterManager.cpp
moc_CharacterManager.obj
qrc_qml.cpp
qrc_qml.obj
答案 0 :(得分:1)
以下是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)
快乐部署!