J'ai fini de développer un ordinateur de bureau GUI application Ruby qui utilise Qt par la gemme qtbindings, et je dois le libérer avec quelques exigences:Emballage et distribution d'une application QtRuby en tant que joyau? Ou comment?
- L'utilisateur n'a pas à construire ou quoi que ce soit compiler, en particulier Qt bibliothèques, l'installation de Ruby et Rubygems est OK, mais pas plus
- Il doit fonctionner sur Mac et Windows, Linux trop préférence
J'ai essayé tar2rubyscript & rubyscript2exe mais j'échoué en raison de quelques erreurs énigmatiques, comme je ai décrit sur KDE-bindings mailing list
Un gars utile sur le canal #qtruby IRC a suggéré que je l'emballe comme une gemme et le libérer. J'ai essayé de faire cela mais mon problème est, comment puis-je lier qtbindings à une bibliothèque statique Qt? J'ai fait le gemspec, et j'ai utilisé bundler, mais il se construit contre les bibliothèques/en-têtes de développement Qt natives .. et mes utilisateurs n'auront pas cela.
Mes questions sont, encore une fois:
- Puis-je utiliser une pierre précieuse pour cela? Si oui, comment puis-je demander à l'utilisateur de construire des qtbindings avec une bibliothèque statique de Qt que je fournis?
- Connaissez-vous un autre moyen d'empaqueter une application qtruby? L'AS-tu fait?
Hmm c'est une suggestion intéressante, je vais l'essayer ce soir et je posterai mes progrès. J'ai une note cependant; Les bibliothèques dynamiques ne peuvent/ne doivent pas être empaquetées, c'est pourquoi elles sont dynamiques en premier lieu. Je vais construire une version statique de Qt et essayer avec ça. Bien que, comme vous l'avez dit, ce n'est pas très élégant. Je vous remercie. – amireh
@amireh Ce ne sont pas les seules bibliothèques de motifs à partager: elles peuvent être partagées entre plusieurs instances de votre application. Je n'ai pas eu de bonnes expériences en utilisant des versions statiques de Qt quand elles étaient mélangées avec X11. X11 charge de toute façon certaines bibliothèques de manière dynamique (retardée) et si une structure change, votre application se bloque. Je recommande vraiment d'utiliser un Qt partagé, même en l'envoyant. Merci de poster vos expériences. Je vais faire la même chose (déployer une application QtRuby) dans le futur, donc je suis intéressé à vous aider. –
Py: J'ai réussi à construire le paquet pour Linux.Je vais passer à Mac ensuite, puis Windows. Quand j'aurai fini, je partagerai une référence de mes progrès. – amireh