Passage sur NSIS et Qt5

Bonjour,
J’utiliser Inno setup 5, mais j’ai découvert qu’il avais des problèmes de multi-thread et de variable non initialisé. Wine m’as permit de mettre en évidence le probléme, windows ne gérant pas les thread de la même façon, je problème est plus difficile à faire apparaître. Ont m’as dit que c’été pas leur probléme car wine n’est pas une platforme supporté (il ont pas envie de faire du code propre, solide, qui passe partout quelque soit la manière de géré les threads. Il vont être bloquer si un jour windows change ce code).
Donc me voila avec NSIS pour ultracopier, qui marche parfaitement sous wine en console pur. En passant, Inno setup 5 ne marche pas en console pur, il crée des fenêtres caché qui font planté certain partie du programme quand je le lance en console pur.

J’ai fait le tour d’ultracopier avec Qt5. Voila rapidement ce que je me suis noter:
– Mac: Le menu quand ont click droit sur l’icone dans le systray n’apparaît pas totalement. Certain signals/slots sont bugger/manquant. Le dialogue pour obtenir un fichier ne marche pas (ont peu pas le fermer, ni click sur open/close)

– Linux: RAS, tout semble marché

– Windows: Grosse lenteur pour le dialogue pour sélectionner les fichiers, Mingw64 en 32Bits à un bug à cause de gcc 4.7.2 (suppression de -02 obligatoire pour mettre -m32), et un plugins (le moteur de copie) ne marche pas en 32Bits, il ne ce charge pas, et Qt5 ne me remonte pas l’erreur

Je continue à avancé sur pokecraft, il commence à étre jouable (crafting, farming, pas encore de combat, ni d’histoire, ni de map)

Bye

Qt 4.6 compilé avec MinGW64 avec wine sous linux

Bonjour,

Vous devez sans doute en avoir mare de devoir lancé un machine virtuelle pour compiler vos application Qt sous windows, avec visual studio et ces dépendances? J’ai la solution, cela permet en autre d’automatiser la création, et donc de tout faire via un .sh:

  • Créer votre futur dossier wine
  • Lancer toujours wine et Qt avec le préfix WINEPREFIX= »/votre/chemin/ »
  • Installé TDM MinGW, et ajouter le à votre variable d’environnement PATH dans regedit en recherche la clef ayant pour nom PATH
  • Compilé le début de Qt en 32Bits avec TDM MinGW pour avoir notamment qmake.exe,uic.exe,moc.exe,rcc.exe en 32Bits
  • Garder ces exe dans un dossier à part, lancer une commande watch pour les recopier à intervalle régulier dans dans le dossier bin/ de Qt car avec la version MinGW64 c’est des exe 64Bits qui vont être généré, donc incompatible avec un wine 32Bits
  • renommer votre dossier MinGW
  • Installez MinWG64 la version snapshot la plus récente en MinGW-w64-mingw-i686.zip ou un truc comme ça
  • Copier tout les binaires dans bin/ de votre dossier MinGW qui est en 32Bits pour cible 64Bits et renommer les copies sans le mingw……- devant
  • Faite un mingw32-make distclean
  • lancer le configure puis le make comme pour une installation traditionnelle
  • Quand tout est compilé arréte le script qui ecrase vos binaires dans le dossier bin/ de Qt

J’ai rencontrer les erreurs suivantes:

  • Avec Qt 4.6.1 j’ai du désactivé le mmx, sse, sse2

Pour pouvoir avoir un maximum de compression du binaire final j’ai fait en static, pour notamment pouvoir le compresser avec upx en lzma quand upx supportera les binaires windows 64Bits.

Cette article vous permet aussi avec quelque adaptation de compiler Qt en 64Bits sous windows sans avoir besoin de visual studio en 64Bits, donc potentiellement d’utiliser Qt Creator ou tout autre IDE Qt portable basé sur MinGW.