Probleme mit QT unter Windows



  • Na dann viel Spaß. Ich code mittlerweile die GUI auch komplett selbst(also nicht die Widgets, sondern deren Anordnung). Angefangen hatte ich mit dem Qt-Designer, aber es fing dann schon an, dass ich ein eigenes Widget nicht einfach da einbinden konnte oder manche Eigenschaften von Objekten dann doch nur per Code erreichbar waren. Hätte ich sicherlich alles irgendwie lösen können, aber der Weg komplett alles selbst zu machen ging dann doch irgendwie schneller als gedacht.



  • Ja, Qt ist da wirklich zuvorkommend. Wenn ich bedenke, ich hab es mit GTK+ versucht. Ging zwar auch, aber irgendwie hat mir das nicht so gefallen. Dann kam wxWidgets. Auch nicht übel, aber auch nicht wie ich mit das vorstelle. Nana war dann schon deutlich mehr nach meinem Geschmack. Aber nach dem letzten Update liefen auf einmal meine ganzen Programme nicht mehr, wenn ich was verändert hab. Dann hab ich es doch mit Qt versucht und bin wirklich zufrieden damit. Nicht unbedingt MUI, aber mir gefällt es!



  • Also, soweit funktioniert das ja alles super bisher. Ich entwickle was unter Linux, schiebe es mittels GIT auf Windows, compiliere es und es läuft. Da ist aber die Sache mit den DLLs. Die in das entsprechende Verzeichnis zu kopieren ist ja mit windeploy sehr einfach, aber tut es Not, dass dann alles so unglaublich gross wird? Ein simples GUI was überhaupt nichts kann hat mit den DLLs fast 1GB! Kann man das nicht irgendwie reduzieren?



  • 1GB scheint mir doch extrem groß(Release oder Debug Version?). Ich muss ehrlich gestehen, dass ich noch nie so weit war mit Qt um was als fertiges Paket weiter zu geben. Meiner Meinung nach sollte da irgendwas zwischen 10 bis 100MB bei raus kommen, wenn man keine weiteren Ressourcen eingebunden hat. Aber hier soll mal bitte jemand antworten, der wirklich in der Materie mit Deploy und Co drin ist.



  • Es handelt sich um eine Release Version. Ist auch noch lange nicht soweit, dass ich es veröffentlichen könnte, aber ich kenne ja den Effekt. Nur weil das Programm bei mir läuft, muss es nicht auch auf anderen Rechnern laufen. Bei Linux weiss ich, was ich da tun, oder raten muss, aber da Windows Neuland ist, wollte ich einfach einmal testen, ob es auch auf einem Otto-Normal-Windows-Rechner läuft. Aber 1GB waren mir zum verschicken dann doch ein wenig heftig.



  • Ich habe das eben mal mit meinem Projekt getestet und komme bei mir auf 18MB für alles. Allerdings habe ich die Qt Dlls, die benötigt werden, per Hand in das Verzeichnis kopiert. Meine Exe(in der noch eine third party lib statisch mit rein gelinkt ist) brauchte QtGui.dll, QTCore.dll und QtWidgets.dll um laufen zu können.

    Mein Sourcecode ist bis jetzt ca 500kB groß.

    Achso, ich nutze VisualStudio 2019 Community Edition mit den Qt VS Tools unter Windows10. Bei der Qt 5.13.0 Installation haben ich auch nur das msvc2017_64 Kit installiert.

    In dem Projekteinstellungen selbst sind keine großen Anpassungen drin, nur dass ich C++17 nutze, wegen so etwas hier:

    class Audio
    {
    public:
    	Audio();
    	.
    	.
    	.
    
    private:
    	.
    	inline static double volume_{ 0.0 }; // braucht C++17
    	.
    };
    


  • Bei einem Projekt von mir ist es das gleiche (QtWidget based). Da sind die ganzen benötigten Qt related files zusammen auch nur 18MB groß.

    @Hirnfrei Kannst du mal auflisten was für dateien alles beim "deploy" mit windeploy kopiert wurden?

    Nicht das da auch noch *.pdb Dateien mit enthalten sind und diese können sehr groß werden.

    Edit: Und zeig mal deine aufruf von windeploy (also welche parameter verwendet werden)



  • 18 MB klingt ja doch schon etwas ansprechender, als 1GB. Gehe ich mal davon aus, dass das Programm nur die DLLs benötigt, die man auch verlinkt hat? In dem Fall wären es bei mir auch nur die drei von dir angegebenen DLLs. Mir kopiert der aber mehr mit und ich bin davon ausgegangen, dass die anderen DLLs Abhängigkeiten sind.

    @firefly Kann ich nachher gerne machen. Aber die DLLs an sich waren schon ziemlich gross. 300 MB, 200 MB usw. Etwas übertrieben, wie ich finde.



  • Daher die frage nach der auflistung. Denn eine Dateigröße von 300MB klingt schon komisch (eher nach debug dlls oder ähnlichen.

    Wobei anzumerken ist das bei meinem Projekt ich die offizielle Qt installation verwende welche mit visualstudio gebaut wurde.
    Wie das bei einer mingw Qt version aussieht weis ich nicht, da könnten zusätzliche mingw related files kopiert werden die das ganze vom benötigten platten platz her aufblähen



  • Sind da vielleicht auch pdb´s dabei?


Log in to reply