Windows MinGW, Qt5.4 entry point issue
-
Hi all, Hope you all had a great Christmas thus far.
I'm using community edition under Windows with Qt5.4x (latest I believe). And the MinGW 32 bit compiler.
I can build and run my app in the IDE with no issues. I'm having issues deploying the app under Windows 8.1 but I don't think the issue is Windows... By deploy I mean I'm moving the EXE and the depending DLLs to a Windows 8.1 machine and attempting to run it.
I worked through the dependency list using Dependency Walker and I believe I've captured all the required DLLs. So far my app is very simple so I'm deploying:
QT5CORE.DLL
QT5GUI.DLL
QT5WIDGETS.DLL
LIBGCC_S_DW2-1.DLL
LIBSTDC++6.DLL
LIPWINPTHREAD-1.DLL
ICUIN53.DLL
ICUUC53.DLL
ICUDT53.DLLSome of these were not referenced by DW. However running the EXE asked for them so I included them. With all of these in place and again the program runs on the same machine under the IDE I now get this error:
@The procedure entry point __cxa_throw_bad_addray_new_length could not be located in the library <path>\qt5Core.dll.@
Obviously this looks like I have a problem or issue in the code, but I see no messages, exceptions or errors while running it in the IDE. I began a process of elimination and starting removing various things but still no luck.
My initial web searches are beginning to sort of point to a problem in MinGW. Anyone have any ideas?
If I reconfigure the project for VS2013 and include the correct libs for that, my app runs just fine.
Thanks in advance!
-
It looks like you may have picked up the wrong DLL(s). You should be deploying the DLLs from Qt\5.4\mingw491_32\bin and not those from Qt\Tools\QtCreator\bin (because these are built with MSVC).
You also need to deploy the platform plugin from Qt\5.4\mingw491_32\plugins\platforms\qwindows.dl l to {path}/platforms/qwindows.dll. DW will only pick up the run time dynamically loaded dependencies if you run the target program in DW's profiling mode.
See also:
http://doc.qt.io/qt-5/windows-deployment.html#creating-the-application-package
The default Qt5.4/MingW bundle is an OpenGL build and does not require the ANGLE libraries. -
Hi,
There's also this fine wiki "entry":http://qt-project.org/wiki/Deploy_an_Application_on_Windows that can help when deploying on windows
-
Generally it's because you are copying the Qt Creator's dlls rather than the dlls from the Qt version you are using.