[SOLVED] Can't start my Program.exe on other PCs



  • Hey,

    I can start my deployed tool on my PC. But on other Pcs wihtout Qt its not working:
    bq. qt this application has requested the runtime to terminate it in an unusual waybq.

    Yes I copied the Dlls from my minGW Folder. Like this:

    -app.exe
    -Qt5Core.dll
    -Qt5Gui.dll
    -Qt5Widgets.dll
    -icudt52.dll
    -icuin52.dll
    -icuuc52.dll
    -libgcc_s_dw2-1.dll
    -libstdc++-6.dll
    -libwinpthread-1.dll
    -platforms (folder)
    --qwindows.dll

    But its still not working and I dont know what to do :(


  • Moderators

    read "this":http://doc.qt.io/qt-5/windows-deployment.html carefully. Especially the section "Application Dependencies"

    Also make sure that all of the copied DLLs match the version you built against.



  • I used the Depency Walker and this is the outout:
    !http://i.imgur.com/sStGzIb.png()!

    Do you know this issue? How can i fix it?


  • Moderators

    don't mind about the dependencies of the Qt libs for now.
    Provide all direct dependencies of your application as statet in the link i've posted.

    There are several missing which you didn't list.

    Then run it again. If there is a DLL missing, a message will popup and tell you which one is missing.

    But the message from your first post seems like you copied the wrong version DLLs or missing an essential DLL.



  • oh i forgot some dlls to list in main post:
    bq. -icudt52.dll
    -icuin52.dll
    -icuuc52.dll
    -libEGL.dll
    -libgcc_s_dw2-1.dll
    -libGLESv2.dll
    -libstdc++-6.dll
    -libwinpthread-1.dll bq.

    I edited main post...its of course still not working


  • Moderators

    when you are sure that you've copied over all DLLs check if you are copied the right ones.
    If you didn't mix up release and debug binaries, and copied the Qt libs really from the version you linked against.

    For example on the machine where the application is running you can use "Process Explorer":https://technet.microsoft.com/de-at/sysinternals/bb896653.aspx to check which DLLs are loaded by the applciation and verify if you copied the right one.



  • The name of my MinGW Folfer is: mingw482_32
    So its 4.82 version? I'am using Qt 5.3...shouldnt it run?


  • Moderators

    the "offical Qt 5.3 release binaries are built":http://qt-project.org/wiki/MinGW with mingw 4.8.2, yes.

    The safest way is to do like i suggested before to check with Process Explorer which libs are really loaded ...



  • Yeah with dependeny walker i can check this too or?

    http://i.imgur.com/68yzBbS.png

    So there are some missing dlls right? Now I need to figure why the missing dlls are not loading


  • Moderators

    theoretically yes. Dependency walker displays the linked dependency libraries and checks if it can find it in the PATH.
    But Process Explorer is the safest way since it actually displays the really loaded DLLs.

    You can also try to run "windeployqt" which creates a bundle with all libraries needed. Don't know how reliable it is though.



  • Ah okay...that view is much better...
    http://i.imgur.com/MmwrgaO.png

    Mhm is this the error maybe? qwindows.dll isnt loading from the Dirctory where the exe is...Do you know how to fix it?



  • Mhm weeird... I checked the loaded dlls on the system where the Application is crashing...but there the qwindow is loaded from the right place:
    http://i.imgur.com/XIuFqg6.png

    I copied the dlls btw from this Path:
    E:\Programme\Qt\5.3\mingw482_32

    But I think its right...

    Edit:
    On my running System there loaded a qsqlite.dll from path: Qt\5.3\mingw482_32\plugins\sqldrivers\qsqlite.dll
    But on my other System the dll isnt loaded...Do I have to add the sqllite.dll too?


  • Moderators

    [quote author="MisteKiste" date="1422019184"]Mhm is this the error maybe? qwindows.dll isnt loading from the Dirctory where the exe is...Do you know how to fix it?[/quote]Qt searches in a few different places for DLLs.

    If you rename E:\Programme\Qt\ to E:\Programme\QtHidden, then it will load the DLLs from your exe folder.

    Remember to deploy sqldrivers\qsqlite.dll too, if you use SQLite in your program.

    If it still doesn't work, try this strategy: http://qt-project.org/wiki/Deploy_an_Application_on_Windows

    !http://i.imgur.com/S582DlV.png(DLL locations)!



  • Hey... you were right...qsqlite.dll was missing... I am in shame :(

    Big thanks to raven-worx and JKSH for your time. I like this community.


  • Moderators

    You're welcome!

    I hope you learn lots for the community, and one day you can help the community too :)


Log in to reply
 

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