J'apprends à développer des applications en utilisant Qt Creator. J'ai construit une application simple sous Windows, dépend des utilisations mingwm10.dll, QtCore4.dll, QtGui4.dll, QtNetwork4.dll. Sur QtQui4.dll, j'utilise seulement quelques widgets, et je n'ai pas besoin de tout le reste ... Est-il possible de réduire la taille de QtGui4.dll ou de faire autre chose pour diminuer la taille de déploiement de l'application? Que diriez-vous de la liaison statique? Va-t-il intégrer toute la DLL, ou seulement certaines de ses parties? Et est-ce aussi possible avec Qt de lier certains dll statiquement et d'autre dynamiquement?Diminuer la taille de l'application graphique Qt
Répondre
Il n'est pas possible de réduire le QtGui4.dll en supprimant certaines fonctions. Trolltech est having a look at this, mais la bonne solution semble assez éloignée:
Liaison statique, je pense que c'est très problématique sur windows. Chaque fois que j'ai essayé, c'était un cauchemar. Donc, il semble que vous soyez coincé avec la DLL régulière. La seule chose que vous pouvez faire (ce que je fais pour mes applications Qt est):
- utilisation UPX pour compresser votre DLL
ou
- Utiliser la compression forte dans votre installateur
Si vous avez déjà UPX votre dll, vous ne pouvez pas le réduire davantage avec la compression du programme d'installation, mais cela peut réduire d'autres fichiers.
La meilleure façon est de configurer manuellement la bibliothèque Qt avec configure. En émettant
configure --help
, vous verrez un certain nombre d'options qui pourraient aider à réduire à la fois l'empreinte du disque et de la mémoire. Par exemple.
--no-stl
--no-exceptions
peut à la fois réduire l'empreinte de votre application. Vous pouvez également modifier le mkspec pour utiliser des indicateurs d'optimisation plus agressifs pour votre compilateur.
Si vous liez statiquement vous vous retrouvez avec un exe de 1,5 Go et vous sacrifiez certaines fonctionnalités comme les plug-ins. Donc, ça ne vaut vraiment pas la peine, sauf si vous ne voulez pas distribuer les DLL. Mais oui, vous pouvez essayer la suggestion de Henrik et exclure aussi Webkit qui est probablement le plus gros morceau de code.
Dans le contexte de la question initiale, exclure WebKit ne fait aucune différence car il ne l'utilisait pas (seulement les modules Core, Gui, Network). –
- 1. Obtenir la taille d'un objet Qt
- 2. Diminuer dynamiquement la taille de la police dans une zone de texte
- 3. Comment augmenter/diminuer la taille de la police dans Dojo DataGrid
- 4. Augmenter/Diminuer le script de taille de police - Comment ajouter la fonction de taille de texte par défaut?
- 5. Augmenter ou diminuer la taille de police de contrôle à l'exécution en fonction de la valeur Slider (composant WPF)
- 6. Concepteur d'interface graphique Netbeans et panneaux d'application de taille fixe
- 7. intrication de la parcelle dans Qt gui
- 8. C#/Excel: Travailler autour de la taille maximale de la série sur le graphique
- 9. Comment stocker la taille de la fenêtre entre les sessions dans Qt?
- 10. diminuer le temps de rendu SIFR
- 11. Définition de la taille du graphique à la valeur fixe dans JFreeChart
- 12. Taille pour s'adapter à un graphique linéaire Visifire?
- 13. Utilisation de la mémoire de l'application C++/Qt
- 14. Augmenter (ou diminuer) la mémoire disponible pour les processus R
- 15. Transformer la hauteur en pixels de l'image en taille d'impression utilisée par l'objet graphique
- 16. asp.net dimensionnement de la non-taille
- 17. Qt QFileDialog QSizePolicy de sidebar
- 18. Diminuer l'interlignage dans un TextBlock/FlowDocument
- 19. Affichage de l'image Qt jpg
- 20. L'utilisation d'un éditeur graphique d'interface graphique est-elle préjudiciable à l'apprentissage de la conception graphique?
- 21. Qt Placement de la fenêtre enfant
- 22. Surveillance de l'utilisation de la carte graphique
- 23. GUI qt connexion
- 24. Comment définir la taille initiale d'un QScrollArea?
- 25. souris sur la transparence dans Qt
- 26. comparaison de la taille du code et de la taille de la source
- 27. Comment ajouter la taille de texte par défaut Fonction - Javascript
- 28. XNA sur la carte graphique
- 29. augmenter la clarté d'un graphique
- 30. problème de conception qt
Oui, "UPX -9 QtGui4.dll" est le chemin à parcourir :) –
Astuce intéressante, je n'ai jamais utilisé UPX auparavant. – PowerApp101
Merci! Quelle est la plus petite empreinte de l'application GUI Qt que vous pouvez archiver de cette façon? – Dmitri