我已经为静态链接构建了qt,只需要一个没有任何dll配置创建者的exe。在我的电脑上一切正常。但是当我在其他计算机上运行程序时,没有任何反应。流程开始,但没有显示任何内容。它只适用于qml,适用于c ++项目。 我尝试创建一个简单的exe并通过windeployqt添加所有需要的库,但它并没有改变任何东西。
也许有人可以告诉我,我做错了什么?
答案 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 上。