Qt 部署的可执行文件打开空白应用程序
Posted
技术标签:
【中文标题】Qt 部署的可执行文件打开空白应用程序【英文标题】:Qt deployed executable opening blank application 【发布时间】:2017-08-13 16:11:51 【问题描述】:我在 Windows 上使用 C++ 和 QML 在 Qt creator 中创建了一个项目。我需要将我的项目部署为共享库,所以我使用的是 windeployqt 工具。以下是遵循的步骤:
-
在没有选择影子构建选项的情况下以发布模式构建项目。
仅复制单独文件夹中的可执行文件,路径:D:\Deploy
在命令提示符下导航到 D:\Deploy 并使用以下命令:
D:\Deploy>windeployqt --qmldir 'path to project qml files' --release app.exe
此工具添加所有依赖文件和所需的 dll,如屏幕截图所示。
执行上述命令后部署文件夹:
-
当我双击 D:\Deploy 文件夹中的 app.exe 时,它只打开一个空白窗口。
请提出过程中的问题。该应用在 Qt creator 的发布配置中运行良好。
【问题讨论】:
尝试从cmd运行,也许我会给你一些信息。 我试过了。命令提示符上没有消息。它以空白屏幕启动应用程序。是否可能与不正确的图形渲染设置有关? 当我从 D:\Deploy 复制 app.exe 文件并将其粘贴到 C:\Qt\5.7\mingw53_32\bin 并执行时,应用程序启动得非常好。 那你需要复制一些dll 尝试使用:dependency walker dependencywalker.com 【参考方案1】:项目路径中缺少 2 个文件:D:\Deploy\QtQuick\Controls 1.qml目录 2.qtquickcontrolsplugin.dll
手动添加这些,现在可执行文件可以正常工作。谢谢你的建议。 您能否建议即使在使用 windeployqt 工具后这些文件仍然丢失的原因?因为找出丢失的文件需要花费大量的精力和时间。
【讨论】:
以上是关于Qt 部署的可执行文件打开空白应用程序的主要内容,如果未能解决你的问题,请参考以下文章