Deployment problems in Windows 8.1[SOLVED]



  • I have been using Qt Creator 5.2 on a notebook computer with Windows 7. I worked through various tutorials and successfully deployed and ran a program outside of the IDE. I recently acquired a new computer with Windows 8.1. I installed Qt Creator 5.4 on it and attempted to repeat the tutorial program deployed outside the IDE but encountered problems. The release version of the program ran successfully from the IDE but would not run outside it. Previously, with Windows 7/Qt Creator 5.2 I used Dependency Walker to identify the DLLs, (QT5core.dll and QT5Widgets.dll) necessary and added them to the C:\Windows\System32 folder and the program ran but this time the following DLLs were listed in Dependency Walker:

    QT5CORE.DLL
    QT5WIDGETS.DLL
    API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
    API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
    API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
    API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
    EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
    LIBGCC_S_DW2-1.DLL
    LIBSTDC++-6.DLL
    IESHIMS.DLL

    When I attempted to run outside the IDE with Windows8.1/Qt Creator 5.4 the following DLLs were identified in error messages:

    QT5CORE.DLL
    QT5WIDGETS.DLL
    QT5GUI.DLL
    LIBWINPTHREAD-1.DLL
    LIBGCC_S_DW2-1.DLL
    LIBSTDC++-6.DLL
    ICUDT53.DLL
    ICUUC53.DLL
    ICUIN53.DLL

    This time adding these to the C:\Windows\System32 didn't work but I could add them to the same folder the executable program was in and the error messages were removed but when all were added this message was displayed:

    ENTRY POINT NOT FOUND
    The procedure entry point ZN10QArrayData10deallocateEPSjj could not be located in the dynamic link library.

    Dependency Walker associated this entry point with the QT5CORE.DLL file.

    Settings:

    Kit: Desktop Qt 5.4.0 MinGW 32 bit
    Qt Version: Qt 5.4.0 MinGW 32 bit
    Compiler: Min GW 4.9.1 32 bit GW

    I searched the forum for information on deployment and was referred to the Wiki Home page “Deploy_an_Application_on_Windows” which I had already reviewed . Is this an issue with Qt Creator 5.4? An issue with Windows 8.1? Could anybody suggest what I should try next? Thanks.



  • Hi, ZN10QArrayData10deallocateEPS_jj is a function used by the MinGW compiler but not Visual Studio, so it seems you have a Microsoft flavored Qt5Core.dll in your path :-(

    EDIT: to clarify, your Win8.1 is fine, I just tested mixing a MinGW .exe file and Visual Studio Qt .dlls on my Windows XP and got the same error.


  • Lifetime Qt Champion

    Hi,

    To add to hskoglund, are you by any chance copying the Qt dlls from Qt Creator rather than the Qt you used to build your application ?



  • Indeed SGaist, good thinking, I bet you a beer that this is the case.



  • Thanks for your responses. I wasn't aware there were more than one file with the same name. When I used the other Qt5core.dll the program would run on the Windows 8 PC. However, it would not run on the Windows 7 notebook or a Windows XP laptop. I tried to install Qt 5.4.0 on the notebook and laptop but I received installation errors on both. I still could not get the program that runs fine on Windows 7 to run on Windows 8. I would like to develop programs with Windows 8 and run them on all three OS. Is that possible?


  • Lifetime Qt Champion

    Are you deploying other dlls that are not part of Qt ?



  • These are the DLLs that I added to the release folder:

    QT5CORE.DLL
    QTWIDGETS.DLL
    QT5GUI.DLL
    LIBWINPTHREAD-1.DLL
    LIBGCC_S_DW2-1.DLL
    LIBSTDC++-6.DLL
    ICUDT53.DLL
    ICUUUC53.DLL
    ICUIN53.DLL

    The program runs on my desktop with Windows 8.1 but not on my laptop with Windows XP. It gives me this error message:

    " This application failed to start because it could not find or load the Qt platform plugin "windows".


  • Lifetime Qt Champion

    Then you're not deploying your application correctly.

    See this fine wiki "entry":http://qt-project.org/wiki/Deploy_an_Application_on_Windows for more information



  • Finally got it to run on all three OS's: W8.1, W7, and WXP. In the end it was caused by DLLs that were not identified by Dependency Walker. I am now going to post a question on deploying to a Linux OS.

    Thanks to everyone for your assistance.



  • Just a quick note: On my end, if I use the "windeploy" command line tool from the Qt installation folder, I don't have to worry about copying the right .dll files. The tool does that automatically. Earlier in 2014, the windeploy tool wasn't working perfectly. But it seems like it is way better.



  • @qt_sur I get the problem that shows:ENTRY POINT NOT FOUND
    The procedure entry point ZN10QArrayData10deallocateEPSjj could not be located in the dynamic link library.How can you solve that?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.