2010-01-20 12 views
15

Tengo una aplicación Qt que necesito instalar en una computadora cliente, que no puedo suponer que Qt haya instalado en ella. Estoy en Mac OSX y la computadora lo instalaré en algún sistema basado en Unix. Lo instalaré yo mismo, así que no necesito un asistente de instalación de GUI ni nada de eso. Idealmente me gustaría terminar con un script o makefile, junto con una carpeta de todas las fuentes y bibliotecas necesarias, simplemente no sé por dónde empezar. Las referencias serían muy apreciadas, no he encontrado nada útil después de muchas búsquedas en Google.¿Cómo instalar una aplicación Qt en un sistema de clientes?

Mi pregunta se encuentra en algún lugar entre estos dos:
Can you create a setup.exe in qt to install your app on a client computer?
Create Linux install for Qt application?

No necesito una en toda regla asistente de instalación (pregunta 1), pero tampoco a tener mi máquina en la instalación sitio para simplemente seguir copiando bibliotecas hasta que se cumplan todas las dependencias (pregunta 2). Básicamente, necesito tener todo en un CD listo para instalar cuando llegue allí. Gracias por adelantado.

Respuesta

16

Hay dos formas de instalar una aplicación Qt en un sistema:

1 - Se puede compilar Qt estáticamente. Esto le permitirá implementar su aplicación sin ninguna dependencia de qt.

2 - que necesita para implementar su aplicación con los archivos de Qt librairy que necesita (como qtcore.dll en Windows)

Usted encontrará todas las explicaciones para cada plataforma en la documentación de Qt: http://qt-project.org/doc/qt-4.8/deployment.html.

Para crear el instalador puede usar InstallJammer para Windows y Unix.

Para MacOSX debe crear una imagen dmg. Esto es muy simple. Lea la siguiente página web para obtener ayuda: http://www.wikihow.com/Make-a-DMG-File-on-a-Mac. Al utilizar el script de Apple puede personalizar dmg (como un enlace de carpeta de aplicación en dmg).

Mi preferencia para el instalador de Win32 es NSIS.

Espero que ayude!

+0

Si compilo Qt estáticamente, no tendría que compilar en el mismo sistema/arquitectura que la computadora del cliente? ¿Hay alguna forma de evitar tener que compilar la fuente en su sistema? –

+0

Tendrá que compilar Qt en cada sistema para tener librerías estáticas O dinámicas para usar con su aplicación. En las 2 formas en que es igual (excepto que las bibliotecas dinámicas ya están compiladas si instala el marco completo) –

+3

También debe tenerse en cuenta que no puede distribuir una aplicación Qt de fuente cerrada y estática según la licencia LGPL. –

0

No estoy seguro de por qué quiere evitar el asistente de instalación. También puede ayudarlo a crear Desinstaladores, escritorio e iniciar atajos de menú, etc. Como se menciona en las publicaciones a las que se refiere, puede usar BitRock InstallBuilder (Nokia lo usa para Qt Creator)

Si no desea utilizar un asistente y no desea compilar estáticamente, puede agrupar las bibliotecas de Qt en la misma carpeta que la aplicación y configurar un script de shell que establezca LD_LIBRARY_PATH en ese directorio

Cuestiones relacionadas