使用MinGW和Qt5.6进行应用程序部署

时间:2016-04-06 14:44:57

标签: c++ qt deployment qt5.6

最终目标是从Qt Creator运行基于Qt5.6的应用程序。我发现有一个工具C:\Qt\5.6\mingw49_32\bin\windeployqt.exe。所以我按如下方式执行:

C:\Qt\5.6\mingw49_32\bin>windeployqt.exe PATH_TO_MY_EXE_FOLDER --release -3dcore -quick -qml -3dquick -3dinput

然后我启动了我的应用,看到module QtQuick/QtQuick.Scene3D is not installed。要解决此问题,我将整个qml文件夹从C:\Qt\5.6\mingw49_32\qml复制到我的应用所在的文件夹。

我在屏幕上看到以下内容:

  

qrc:/main.qml:2:1:无法为模块加载插件   " QtQuick.Scene3D":无法加载库   C:\ gui \ qml \ QtQuick \ Scene3D \ qtqui ckscene3dplugin.dll:?? ???????   ????????? 。?????????"

我该怎么办?实际上,qtquickscene3dplugin.dll位于正确的文件夹中。

部署基于Qt5.6的应用程序的最佳/最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

经过半天的不间断实验,这里有一个解决方案: 1.将所有 * .dll从C:\ Qt \ 5.6 \ mingw49_32 \ bin复制到您的bin文件夹 2.将qml和插件文件夹从C:\ Qt \ 5.6 \ mingw49_32复制到bin文件夹 3.使用以下内容在bin文件夹中创建qt.conf:

[Paths]
Prefix=.
Plugins=plugins
Qml2Imports=qml

完成所有这些步骤后,您将能够从Windows资源管理器启动应用程序。并且不要问我复制所有DLL如何影响插件加载问题:)