Solved 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!):
- "The procedure entry point QIODevice::isTransactionStarted (mangled) could not be located in Qt5Widgets.dll".
- "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.