2010-06-11 27 views
4

J'ai porté un petit programme Haskell que j'ai écrit depuis Mac vers Windows. C'est une application graphique (wxHaskell, compilée avec ghc 6.12.1), elle n'a donc pas besoin de la fenêtre d'invite de commande pour s'ouvrir. Il le fait, de toute façon, donc ma question: Que dois-je faire pour que le programme démarre sans ouvrir une fenêtre d'invite en premier? Y at-il un commutateur ghc pour cela?Comment puis-je compiler un exécutable GUI avec ghc?

Répondre

6

Lorsque vous utilisez wxWidgets avec Cygwin, vous pouvez éviter d'avoir apparaître une fenêtre de console par passing the -mwindows flag to the linker. Vous pouvez dire GHC à pass flags to the linker using the -optl prefix, donc vous pouvez essayer de construire avec -optl-mwindows et voir si cela fonctionne.

Je l'ai déjà fait lors de la création d'une application Haskell SDL sous Windows, et cela a fonctionné pour moi. Je pense que le drapeau -mwindows est spécifique à cygwin, et je ne suis pas sûr de ce que votre installation de GHC pourrait utiliser comme éditeur de liens.

+0

Merci! Ça a marché! – martingw

+0

Aussi, faites un installateur en utilisant [bamse] (http://hackage.haskell.org/package/bamse). –

4

Je n'ai pas accès à GHC sous Windows, mais il semble que vous devez dire linker utiliser sous-système « Windows ». ghc -optl-mwindows ... peut fonctionner.