问题
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 missing libgcc_s_dw2-1.dll
and libwinpthread-1.dll
, so I copied them from C:\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.
回答1:
The problem was that windeployqt
was unable to locate gcc
for some reason. I added it to my path from cmd with SET PATH=%PATH%;C:\Qt\Tools\mingw530_32\bin
. After I ran windeployqt
again, I did not have to copy libgcc_s_dw2-1.dll
and libwinpthread-1.dll
over manually and it used the correct Qt5Core.dll, since the application is now working fine.
来源:https://stackoverflow.com/questions/52121074/qt5-deployment-procedure-entry-point-could-not-be-located