2

我正在尝试部署一组 QT 应用程序。在 linux 上,安装所有依赖项后,所有应用程序都可以正常工作,但在 windows 中,基于 QtQuick 的应用程序根本无法正常工作。

要在 Windows 上部署,我按照以下步骤操作:

  1. 在发布模式下编译我的项目。
  2. 添加mingw到系统环境路径
  3. windeployqt.exe --release c:\myappdir\relesase\myapp.exe

当第 3 步完成时,我在其中的release文件夹Qt5Quick.dll中有很多 dll。但myapp.exe不起作用,也没有抛出任何错误。为了获得任何额外的信息,我添加consolemyapp.pro文件下的CONFIG参数并通过控制台运行 myapp.exe,我得到了以下信息:

QQmlApplicationEngine failed to load component
qrc:/main.qml:1 module "QtQuick" is not installed
qrc:/main.qml:-1 module "QtQuick" is not installed
qrc:/main.qml:1 module "QtQuick" is not installed

我的 QtSDK 版本是带有MinGW的 5.10.0,所以这个解决方案根本不起作用,我遇到了更多错误。

更重要的是,如果我尝试在根文件夹中没有这些 dll 的情况下运行 myapp.exe,它可以正常工作。

我整天都在试图找到任何解决方案,但似乎没有任何效果。

我很确定我错过了一些东西,但我不知道它是什么。谢谢

4

1 回答 1

6

正如我想的那样,我错过了一些东西。--qmldir添加 QtQuick 模块需要选项。

windeployqt.exe --qmldir . --release c:\myappdir\relesase\myapp.exe

那条线成功了,

谢谢@frank osterfeld@Felix

于 2018-11-06T15:16:16.547 回答