Pregunta

Estoy aprendiendo a desarrollar aplicaciones utilizando Qt Creator. He construido una aplicación sencilla en Windows, depende de los usos mingwm10.dll, QtCore4.dll, QtGui4.dll, QtNetwork4.dll. Fuera de QtQui4.dll utilizo sólo un par de widgets, y no necesito todo el resto ... ¿Es posible o bien reducir el tamaño de QtGui4.dll o hacer algo más para disminuir el tamaño despliegue de la aplicación? ¿Qué hay de la vinculación estática? Va a integrar toda la DLL, o sólo partes de él que se utilizan? Y también es posible con Qt para enlazar algunos dlls staticly y algunos dynamicly?

¿Fue útil?

Solución

No es posible reducir el tamaño del QtGui4.dll mediante la eliminación de algunas funciones. Trolltech es echar un vistazo a este , pero la buena solución parece bastante lejano:

vinculación estática, creo que es muy problemático en las ventanas. Cada vez que lo intentaba, era una pesadilla.

Por lo tanto, parece que le pegan con la DLL regular. La única cosa que puede hacer (que hago para mis aplicaciones Qt es):

  • UPX para comprimir el archivo DLL

o

  • usar una fuerte compresión en su instalador

Si ya UPX su DLL, no se puede reducir aún más con la compresión instalador, pero esto puede reducir otros archivos.

Otros consejos

La mejor manera es configurar manualmente la biblioteca Qt con configure. Mediante la emisión

configure --help

verá una serie de opciones que pueden ayudar a reducir tanto el consumo de memoria y disco. Por ejemplo.

--no-stl
--no-exceptions

puede tanto reducir la huella de su aplicación. También puede modificar el mkspec utilizar parámetros de optimización más agresivas para su compilador.

Si se enlaza estáticamente se termina con un exe 1,5 GB y se sacrifica parte de la funcionalidad como plug-ins. Así que no es realmente vale la pena a menos que no desee distribuir los archivos DLL. Pero sí, usted podría intentar la sugerencia de Henrik y también excluir Webkit que es probablemente el mayor trozo de código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top