Qt5部署“无法找到过程入口点”位于客户端。 [英] Qt5 deployment "procedure entry point could not be located"
问题描述
我做了什么:
我在Windows 10上,我的应用程序是用C ++ / Qt 5.11.1 / MinGW 5.3.0编写的。我使用发布工具包对其进行了编译,并在 C:\Qt\5.11.1\mingw53_32\bin
上运行windeployqt。它仍然缺少 libgcc_s_dw2-1.dll
和 libwinpthread-1.dll
,因此我从<$ c复制了它们$ c> C:\Qt\Tools\mingw530_32\bin 到应用程序目录。
错误:
每当我尝试启动我的应用程序时,都会出现错误
过程入口点_ZdlPvj无法位于Qt5Sql.dll中
过程入口点_ZNSt18condition_variable4waitERSt11unique_locklSt5mutexE不能位于Qt5Core.dll中我可以说,我已经从文件中删除了所有qDebug包含的内容,并且我假设将windeployqt复制到了正确的dll上。我已经尝试过Dependency Walker,但是无法获得太多结果,所以我不确定如何继续。
解决方案问题是
windeployqt
由于某种原因无法找到gcc
。我使用SET PATH =%PATH%; C:\Qt\Tools\mingw530_32\bin
将其添加到cmd的路径中。再次运行windeployqt
之后,我不必复制libgcc_s_dw2-1.dll
和libwinpthread-1.dll
手动切换,并且使用了正确的Qt5Core.dll,因为该应用程序现在可以正常工作。What I have done:
I'm on Windows 10 and my application is written in C++ / Qt 5.11.1 / MinGW 5.3.0. I compiled it with the release kit and I've run windeployqt from
C:\Qt\5.11.1\mingw53_32\bin
on it. It was still missinglibgcc_s_dw2-1.dll
andlibwinpthread-1.dll
, so I copied them fromC:\Qt\Tools\mingw530_32\bin
to the application directory as well.The error:
Whenever I try to start up my app, I get the errors
Procedure entry point _ZdlPvj could not be located in Qt5Sql.dll
Procedure entry point _ZNSt18condition_variable4waitERSt11unique_locklSt5mutexE could not be located in Qt5Core.dll
From what I can tell, I've removed all qDebug includes from my files and I'm assuming windeployqt copied over the correct dlls. I've tried Dependency Walker, but could not make much of the results, so I'm not sure how to proceed.
解决方案The problem was that
windeployqt
was unable to locategcc
for some reason. I added it to my path from cmd withSET PATH=%PATH%;C:\Qt\Tools\mingw530_32\bin
. After I ranwindeployqt
again, I did not have to copylibgcc_s_dw2-1.dll
andlibwinpthread-1.dll
over manually and it used the correct Qt5Core.dll, since the application is now working fine.这篇关于Qt5部署“无法找到过程入口点”位于客户端。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!