Important: Please read the Qt Code of Conduct -

QIODevice::isTransactionStarted could not be located in Qt5Widgets.dll

  • My configuration is: CMake 3.7.x, Qt 5.6/5.7/5.8, MSVC 2015/2017RC. I upgraded to 2017RC a couple of days back, and then I started having problems with the launch of my apps.
    Initially it was about missing zlib.dll which went away after clearing the cache and rebuilding; then it was the "missing entry point QDateTime::toSecsSinceEpoch" - then I reinstalled MSVC 2017RC, 2015 (update 3) and Qt 5.6/5.7/5.8.

    Now these two errors consistently appear when I launch my app from VS IDE (which used to work!):

    1. "The procedure entry point QIODevice::isTransactionStarted (mangled) could not be located in Qt5Widgets.dll".
    2. "The procedure entry point QLocale (mangled) could not be located in Qt5Gui.dll".

    This happens consistently with Qt 5.6/5.7/5.8 using MSVC 2015 (update 3). Then I tried with MSVC 2017RC - exact same error messages were printed out. I cannot launch the apps outside of VS IDE either because of the same error messages.

    FYI, I deploy the DLLs to the appropriate directory using the supplied windeployqt.exe - the only warning it had was "VCINSTALLDIR" not defined, but it seems to have installed all the DLLs.

    Out of curiosity I snooped around the "open source code" after downloading it - I am able to locate these APIs in their respective implementation files.

    Am I missing something in my CMake or Qt deployment? Any help / pointer would be really appreciated.

  • Ok, after spending a few hours of installs, re-installs, using dumpbin to figure out that the entry point does exist, I finally turned a full clean build (thought I had done this already). This time it worked like a charm. We can consider this closed.

Log in to reply