2010-03-09 16 views
5

Nuevo en Qt Programming y me gustaría desarrollar un programa que quiera ejecutar en Windows, Linux (ubuntu) y Mac.Implementación del programa Qt en plataformas múltiples, ¿cómo?

oí que Qt apoyar el desarrollo de aplicaciones mutli-plataforma,

pero mi pregunta es que,

habría ninguna biblioteca Qt que tenga que ejecutar estos appilication en Ubuntu después de que despliega o compilado ?

Respuesta

0

Hablando para el lado de Linux aquí, si distribuye su aplicación como paquetes (deb, rpm) entonces puede usar las reglas de dependencias del paquete. Si define estas reglas correctamente, el administrador de paquetes instalará las bibliotecas Qt que necesite al instalar su aplicación.

1

Si implementa en Ubuntu, y por lo tanto utiliza un paquete .deb, entonces su trabajo es fácil ya que solo necesita solicitar qt como dependencia y apt lo instalará automáticamente según sea necesario.

Windows y Mac, sin embargo, no tienen ninguna capa de administración de software "buena", por lo que no tiene más remedio que incluir las DLL Qt necesarias con su binario o compilar una estática. En Windows, solo tiene que asegurarse de que las DLL estén en el mismo directorio que su programa. Mac, sin embargo, requiere un nuevo enlace para hacerse. Esto es un gran dolor, pero afortunadamente Qt viene con una herramienta llamada macdeployqt que hace esto por ti.

De acuerdo con mi experiencia, Linux es la plataforma más fácil de implementar, seguida de Windows, y Mac es la última.

El enlace al documento de implementación de Qt dado anteriormente es un buen punto de partida. Si necesita un ejemplo, he escrito un par de scripts para compilar los binarios de Windows de un programa mío. Puede echar un vistazo a estos para comenzar.

instalador de Windows:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/tagainijisho.nsi

+0

Una ligera arruga extra en las ventanas es que el .dll en general tiene que ser compilado con el mismo compilador como su aplicación por lo que es probable que desee distribuir sus propias copias. –

+0

para Mac, ¿necesita compilar en una máquina MAC? ¿Qué sucede si estás en la máquina de desarrollo de Windows y deseas implementarlo en Mac? – KJW

Cuestiones relacionadas