使用windeployqt执行qt .exe文件时出错

时间:2018-04-18 11:31:59

标签: qt dll deployment dependencies windeployqt

我在Windows 10下部署qt时遇到问题。我在Windows 10上使用QtCreator 4.5.1和Qt 5.11。我在发布模式下执行我的应用程序。然后我通过运行Qt5.11.0 for Desktop(MinGw 5.3.0 32位)打开​​命令行。在那里我给出了release文件夹的路径(我的exe文件存在的地方):

C:\Qt\workspace\build-CanSaveLog2FilterError2DataExploreClass6-Desktop_Qt_5_11_0_MinGW_32bit2-Release\release

之后我输入这一行:

windeployqt.exe --quick .

将生成所有必需的.dll文件和插件以及插件。

当我对一个简单的qt项目执行此操作时,它工作正常,我的exe文件可以正确执行。然而,当我对我想要的项目执行相同操作时,我无法执行我的exe文件,并且出现此错误:

This application failed to start because it could not load the Qt platform plugin "windows" 
in "", even though it was found. This is usually due to missing dependencies which you can find by setting the env variable QT_DEBUG_PLUGINS to 1. 
Available platform plugins are: windows.
Reinstalling the application may fix this problem.

我试图通过在依赖walker中执行它来找到dll文件。当我这样做时,它显示了许多dll文件丢失,例如" API-MS-WIN-EVENTING-CONTROLLER-L1-1-0.DLL"即使在mingw的bin文件夹中也不存在。如果我将exe文件放在mingw的bin文件夹中,它可以正常工作。

所以我试图找到其子dll文件丢失的所有主要dll文件,并将它们复制到release文件夹中。例如,对于API-MS-WIN-EVENTING-CONTROLLER-L1-1-0.DLL,我将Qt5core.DLL复制到release文件夹中。但它没有再起作用。

我无法解决问题所在。你能帮我解决一下吗?从昨天早上起,我一直在搜索并找不到解决方案。

0 个答案:

没有答案
相关问题