Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QT dll names



  • The QT dlls come in pairs: NAME.dll and NAMEd.dll , for the release and debug versions. However, on my link line, I only ever mention NAME.lib . How does the linker arrive at NAMEd.dll for the dynamic link, in the case of a debug build?


  • Moderators

    qmake handles this behind the scenes when you call module include like QT += gui.



  • @sierdzio I don't use qmake, just regular make, and I can see the link command line has only NAME.lib .


  • Moderators

    @normvcr said in QT dll names:

    @sierdzio I don't use qmake, just regular make, and I can see the link command line has only NAME.lib .

    oh, then it means I was wrong. Interesting! Maybe the linker is clever enough to handle this case? Or maybe you are building debug (your app) but linking release Qt?



  • @sierdzio I think you're second option is correct. I did

    dumpbin /dependents
    

    on both the debug and release versions of my util, and they have the same release QT dlls. I guess I never had to step into the QT code :-) . Usually, I get link errors when mixing debug with release, stemming from different array instrumentations. Sounds like QT was careful about this, to allow the mixing of debug with release -- unix-like.