Solved Deployment Issue: Qt5Core.dll and Qt5Cored.dll
-
Right now I am working on the deployment of a Qt application from a Windows (x64) system. My main .pro file includes:
CONFIG += release
The compilation process is pretty clean, but when I try to run the .exe file from its installation path I got an error message asking for QtCore.dll and QtCored.dll libraries. If I copy both files the application runs without any issue.
My question is: why it is asking for the QtCored.dll library if my building settings don't include the "debug" option? Is there a way I can detect or avoid that dependency? As far as I understand, I should only need the QtCore.dll file, right?
Thank you for any hint! :)
-
Hi,
do you have any dependencies ? e.g. plugin, external lib ?
-
Yes. My application depends on Quazip and Libav. I compiled Quazip by myself and looking for the quazip.pro file I found this:
CONFIG += qt warn_on
About the Libav library, I am using the binaries available from the official website.
-
Then check that the Quazip lib you link to is also in release mode.
You can use Dependency Walker to check what dependencies you have with your executable and DLLs.
-
Got it! I installed the "Dependency Walker" [1] application to inspect my binaries, starting by my .exe file. No reference to Qt5Cored.dll, but when I opened the quazip.dll file, it is listed!
I recompiled Quazip, using this qmake line:qmake -config release "LIBS+=C:\extralibs\zlib1.dll" "PREFIX=C:\Quazip"
And now, the problem is solved! Thank your for the dependencies hint! :)