Qml程序无法运行

时间:2014-11-14 05:51:47

标签: c++ qt qml

我已经为静态链接构建了qt,只需要一个没有任何dll配置创建者的exe。在我的电脑上一切正常。但是当我在其他计算机上运行程序时,没有任何反应。流程开始,但没有显示任何内容。它只适用于qml,适用于c ++项目。 我尝试创建一个简单的exe并通过windeployqt添加所有需要的库,但它并没有改变任何东西。

也许有人可以告诉我,我做错了什么?

4 个答案:

答案 0 :(得分:2)

我发现使用QML应用程序时,您可能需要以下目录中的目录: .. \ Qt5.3.2 \ 5.3 \ msvc2013_opengl \ QML \

所需的目录取决于您所包含的内容。

对于我的申请,我有以下结构:

my.exe
QtGraphicalEffects
QtQuick
QtQuick.2

答案 1 :(得分:0)

试试这个:
1.使用依赖性walker(http://www.dependencywalker.com/)来查看所需dll的确切路径。试试看,因为QtCreator和QT框架都有相同的dll,你必须确定使用的确切数据。我复制了与应用程序在同一文件夹中所需的所有dll。

2.我已经从QT框架/插件中复制了文件夹平台,并将其复制到与应用程序相同的文件夹中。现在,该应用程序还包含其所有dll的插件/平台/文件夹

3.在我的案例中,最重要的一步是在与应用程序相同的文件夹中创建一个名为qt.conf的文件。该文件应包含插件的路径。我的qt.conf文件包含:

[Paths]
Libraries=../lib/qtcreator
Plugins=plugins
Imports=imports
Qml2Imports=qml

答案 2 :(得分:0)

尝试将下面文件夹中的每个DLL复制到您的exe所在的文件夹中。

C:\ Qt \ x.x.x \ msvc20xx_xx \ bin \

如果exe正常运行,请尝试将dll逐一删除,以找出所需的dll和不需要的dll。

答案 3 :(得分:0)

  • 首先在 windows 的 cmd 终端上运行 mingw(在我的情况下它在 C:\Qt\6.1.1\mingw81_64\bin 上)。

  • 在此之后转到您的项目输出(您要在另一台 Windows 机器上运行的 .exe 文件在哪里)。

  • 运行 windeployqt 命令:

<块引用>

windeployqt.exe --qmldir C:\Qt\6.1.1\mingw81_64\qml .

我运行示例项目“Qt Quick Application - Scroll”。 空白屏幕仅发生在没有支持 OpenGL 2.0 的显卡的 PC 上。