How can I compile a GUI executable with ghc?

2020-03-04 06:55发布

问题:

I ported a little Haskell program I wrote from Mac to Windows. It's a GUI application (wxHaskell, compiled with ghc 6.12.1), so it does not need the command prompt window to open. It does so, anyway, so my question: What must I do so that the program starts without opening a prompt window first? Is there some ghc switch for this?

回答1:

When using wxWidgets with cygwin, you can avoid having a console window appear by passing the -mwindows flag to the linker. You can tell GHC to pass flags to the linker using the -optl prefix, so you could try building with -optl-mwindows and see if that works.

I've done that before when building a Haskell SDL application on Windows, and it worked for me. I think the -mwindows flag is cygwin-specific though, and I'm not sure what your install of GHC might be using as a linker.



回答2:

I don't have access to GHC on Windows, but it looks like you need to tell linker to use "windows" subsystem. ghc -optl-mwindows ... may work.