Qt World Summit: Submit your Presentation

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! :)

  • Lifetime Qt Champion


    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.

  • Lifetime Qt Champion

    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! :)

    [1] : http://www.dependencywalker.com/

Log in to reply