Trying to run release version on Windows fails



  • Hi, I've been learning QT for a couple of weeks and it works wonders while I'm running the app inside QT creator, now I want to ask some things:
    Using QT Quick controls 2.0. On Windows 10.

    1. Making a hello world app on release , running windeploy, gives me ~50MB. Is this normal minimum app size?

    2. A release version of the same hello world compiled with mingw kit doesn't run, nor does it run with any other kit I've tried, sometimes it complains about some dlls missing but eventually it just throws some cryptic errors and nothing works, with msvc 2015 32 it just doesn't run without showing anything. Is there any tool to package everything needed? Or do I have to scramble finding everything I need by trial and error every time I try to release an app?
      One such app is the gallery example that comes with QT creator. It says "Z21qRegisterResourceDataiPKhSO_SO could not be located in the dynamic library"

    3. Isn't there something shared among apps that the user might want to install? Like, JRE on the java case, .net framework, msvc distributable libs, Adobe air runtime, etc ? So I don't have to package ~45MB of almost the same libs for every app?

    Thanks. I'm looking mostly for something that explains an app deploy step by step, from writing the code to installing to another machine.



  • 1 : not sure, if you are package your apps by windeployqt, it may package many unnecessary dll
    2 : Please post the error messages, I guess you missed libgcc_s_dw2-1.dll, libstdc++-6.dll or forgot to call --qmldir?
    3 : You may create an app similar to ministro if you want to reduce the size of the app or use static link. Whatever, I do not
    think 50MB would be a concern on desktop/laptop(look at those AAA games)



    1. If not windeploy, what should I use then?
    2. The error message is the one I posted: "_Z21qRegisterResourceDataiPKhSO_SO could not be located in the dynamic library".
      Where and when should I call --qmldir? are the errors always unclear about a file missing?
    3. Static link? where can I find information on that?


  • @Xyrer said in Trying to run release version on Windows fails:

    If not windeploy, what should I use then?
    The error message is the one I posted: "_Z21qRegisterResourceDataiPKhSO_SO could not be located in the dynamic library".
    Where and when should I call --qmldir? are the errors always unclear about a file missing?
    Static link? where can I find information on that?

    1 : windeploy is fine to use, but you may need to remove unnecessary dll manually.
    2 : when your app is developed with qml, you need --qmldir, please check the document of windeployqt to find out how to use it.

    example :
    your_path/windeployqt.exe --qmldir directory_of_your_qml_files\qml

    3 : Don't know, I guess you need to recompile the Qt library by yourself, besides, you may need to buy the license of Qt if you want to use static link. However, 50MB is not a big deal on desktops, you can always compress your apps by 7zip or qCompress. My encapsulation on qCompress may save you some work.



  • Thanks, the qmldir parameter seems to be what I was missing.

    Any idea of how should I approach the manual removal of any files not needed?


Log in to reply
 

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