【问题标题】:Qt deployed executable opening blank applicationQt 部署的可执行文件打开空白应用程序
【发布时间】:2017-08-13 16:11:51
【问题描述】:

我在 Windows 上使用 C++ 和 QML 在 Qt creator 中创建了一个项目。我需要将我的项目部署为共享库,所以我使用的是 windeployqt 工具。以下是遵循的步骤:

  1. 在没有选择影子构建选项的情况下以发布模式构建项目。
  2. 仅复制单独文件夹中的可执行文件,路径:D:\Deploy
  3. 在命令提示符下导航到 D:\Deploy 并使用以下命令: D:\Deploy>windeployqt --qmldir 'path to project qml files' --release app.exe
  4. 此工具添加所有依赖文件和所需的 dll,如屏幕截图所示。

执行上述命令后部署文件夹:

  1. 当我双击 D:\Deploy 文件夹中的 app.exe 时,它​​只打开一个空白窗口。

请提出过程中的问题。该应用在 Qt creator 的发布配置中运行良好。

【问题讨论】:

  • 尝试从cmd运行,也许我会给你一些信息。
  • 我试过了。命令提示符上没有消息。它以空白屏幕启动应用程序。是否可能与不正确的图形渲染设置有关?
  • 当我从 D:\Deploy 复制 app.exe 文件并将其粘贴到 C:\Qt\5.7\mingw53_32\bin 并执行时,应用程序启动得非常好。
  • 那你需要复制一些dll
  • 尝试使用:dependency walker dependencywalker.com

标签: c++ qt deployment qml executable


【解决方案1】:

项目路径中缺少 2 个文件:D:\Deploy\QtQuick\Controls 1.qml目录 2.qtquickcontrolsplugin.dll

手动添加这些,现在可执行文件可以正常工作。谢谢你的建议。 您能否建议即使在使用 windeployqt 工具后这些文件仍然丢失的原因?因为找出丢失的文件需要花费大量的精力和时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多