我在 Windows 10 下的 qt 部署有问题。我在 Windows 10 上使用 QtCreator 4.5.1 和 Qt 5.11。我在发布模式下执行我的应用程序。然后我通过运行 Qt5.11.0 for Desktop(MinGw 5.3.0 32 位)打开命令行。在那里我给出了发布文件夹的路径(我的 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 文件丢失,例如即使在 mingw 的 bin 文件夹中也不存在的“API-MS-WIN-EVENTING-CONTROLLER-L1-1-0.DLL”。如果我将 exe 文件放在 mingw 的 bin 文件夹中,它可以正常工作。
因此,我试图找到其子 dll 文件丢失的所有主要 dll 文件,并将它们复制到发布文件夹中。例如对于 API-MS-WIN-EVENTING-CONTROLLER-L1-1-0.DLL,我将 Qt5core.DLL 复制到发布文件夹。但它没有再次起作用。
我不明白问题出在哪里。你能帮我解决吗?从昨天早上开始,我一直在寻找,但找不到解决方案。