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

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.DLL

    Some 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.



  • Thanks Chris,

    I'll check that out. You could be right... I'll bet I got the ones from bin.

    I have been studying the deployment stuff. Thanks for the reference.


  • Lifetime Qt Champion

    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



  • Excellent... Thanks I think I had the wrong DLLs.


  • Lifetime Qt Champion

    Generally it's because you are copying the Qt Creator's dlls rather than the dlls from the Qt version you are using.


Log in to reply