Estoy aprendiendo a desarrollar aplicaciones usando Qt Creator. He creado una aplicación simple en Windows, depende de los usos mingwm10.dll, QtCore4.dll, QtGui4.dll, QtNetwork4.dll. Fuera de QtQui4.dll Uso solo un par de widgets, y no necesito todo el resto ... ¿Es posible reducir el tamaño de QtGui4.dll o hacer algo más para disminuir el tamaño de implementación de la aplicación? ¿Qué hay de la vinculación estática? ¿Incrustará todo el dll, o solo partes de él que se usen? ¿Y también es posible con Qt vincular algunos archivos DLL de forma estática y dinámica?Disminuir el tamaño de la aplicación GUI de Qt
Respuesta
No se puede reducir el QtGui4.dll mediante la eliminación de algunas funciones. Trolltech es having a look at this, pero la buena solución parece bastante distante:
Enlaces estáticos, creo que es muy problemático en Windows. Cada vez que lo intentaba, era una pesadilla.
Por lo tanto, parece que está atascado con la DLL normal. La única cosa que puede hacer (que hago para mis aplicaciones Qt es):
- uso UPX para comprimir el archivo DLL
o
- uso fuerte de compresión en su instalador
Si ya tiene UPX en su dll, no puede reducirlo más con la compresión del instalador, pero esto puede reducir otros archivos.
La mejor manera es configurar manualmente la biblioteca de Qt con configure. Mediante la emisión de
configure --help
verá una serie de opciones que pueden ayudar a reducir tanto el consumo de memoria y disco. P.ej.
--no-stl
--no-exceptions
pueden reducir la huella de su aplicación. También puede modificar la especificación mkspec para usar indicadores de optimización más agresivos para su compilador.
Si enlaza estáticamente termina con un exe de 1.5GB y sacrifica algunas funcionalidades como complementos. Entonces, realmente no vale la pena a menos que no desee distribuir los dlls. Pero sí, podrías probar la sugerencia de Henrik y también excluir Webkit, que probablemente sea la mayor parte del código.
En el contexto de la pregunta original, excluir WebKit no hace ninguna diferencia ya que no lo usé (solo Core, Gui, módulos de red). –
- 1. Qt GUI diseño programáticamente
- 2. DLL falta al iniciar la aplicación Qt GUI
- 3. Disminuir el tamaño de un formulario de ventana
- 4. Cómo disminuir el tamaño de los binarios generados?
- 5. ¿Cómo detectar si una aplicación GUI de Qt ha estado inactiva, dentro de la propia aplicación (Qt)?
- 6. cómo disminuir el tamaño del botón de radio en android
- 7. GUI codificada a mano Versus GUI de Qt Designer
- 8. Pruebas de Do Gui en Qt
- 9. qDebug Qt aplicación de consola para enviar a la salida de la aplicación Qt Creator
- 10. La GUI de Qt no cambia después de la compilación
- 11. Aplicación Qt GUI: ¿advertencia si falló QObject :: connect()?
- 12. Disminuir el tamaño de la barra de calificación en Android 2.1
- 13. ¿Disminuir el número de clases públicas en mi aplicación .NET?
- 14. Obteniendo el tamaño de un Objeto Qt
- 15. Aplicación Qt-Linux de arranque
- 16. Detección de hilo GUI en la biblioteca Qt
- 17. GUI de la aplicación de consola
- 18. Cómo disminuir el tiempo de carga de la página en la aplicación ASP.NET?
- 19. Desarrollar interfaces GUI de la aplicación C++ Qt en HTML + javascript?
- 20. QT/QT-Designer Pregunta: widget de cambio de tamaño automático
- 21. Obtenga el tamaño fácil de la aplicación
- 22. disminuir la resolución de la imagen en java
- 23. QGLWidget para gráficos y QT para GUI
- 24. Redistribución de la aplicación de GUI de Python
- 25. usando qt: ¿Cómo construir un Gui OnTop de una aplicación de consola?
- 26. Salir de la aplicación en Qt
- 27. ¿Cómo puedo disminuir el tamaño de mi archivo de registro del servidor sql?
- 28. Qt La aplicación falla espectacularmente
- 29. Cambiar el tamaño de paneles en GUI sin cambiar el tamaño de los contenidos (MATLAB)
- 30. ¿Qué podría disminuir el rendimiento de MySqls?
Sí, "UPX -9 QtGui4.dll" es el camino a seguir :) –
Dato interesante, nunca antes había usado UPX. – PowerApp101
¡Gracias! ¿Cuál es la huella más pequeña de la aplicación GUI Qt que puede archivar de esta manera? – Dmitri