Difference between revisions of "WxHaskell/Windows"

From HaskellWiki
Jump to: navigation, search
m (wxWidgets 2.9 and wxHaskell 0.90.x)
(wxWidgets 2.9 and wxHaskell 0.90.x)
Line 12: Line 12:
   
 
Prerequisites:
 
Prerequisites:
* MinGW
 
  +
* [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer MinGW] 5.1.6 and [http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe MSYS] 0.1.11 (these are the latest versions at the time of writing). You must select the C++ compiler option when installing MinGW.
   
 
Environment variables:
 
Environment variables:
Line 28: Line 28:
 
# Extract to C:\wxWidgets-2.9.3
 
# Extract to C:\wxWidgets-2.9.3
 
# [http://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW Build wxWidgets-2.9.3]
 
# [http://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW Build wxWidgets-2.9.3]
# Download wxHaskell source
 
  +
# Download [https://sourceforge.net/projects/wxhaskell/files/wx-config-win/ wx-config.exe] (a new version for wxWidgets > 2.9) and copy it somewhere into your path, for instance via
# Build wx-config
 
 
 
<pre>
 
<pre>
cd %WXHASKELL_DIR%\wx-config-win\wx-config-win
 
g++ wx-config.cpp -o wx-config.exe
 
 
cp wx-config.exe %CABAL_DIR%\bin
 
cp wx-config.exe %CABAL_DIR%\bin
  +
</pre>
  +
# Install the wxHaskell libraries
  +
<pre>
 
cabal install wxdirect
 
cabal install wxdirect
 
cabal install wxc
 
cabal install wxc

Revision as of 14:47, 6 June 2012

wxWidgets 2.9 and wxHaskell 0.90.x

Windows Haskell Platform wxWidgets
7 2011.2.0.1 2.9.3


Prerequisites:

  • MinGW 5.1.6 and MSYS 0.1.11 (these are the latest versions at the time of writing). You must select the C++ compiler option when installing MinGW.

Environment variables:

  • CABAL_DIR: C:\Users\XXX\AppData\Roaming\cabal
  • GHC_VERSION: 7.0.3 (for our convenience)
  • WXC_VERSION: 0.90.0.2
  • WXWIN: C:\wxWidgets-2.9.3
  • WXCFG: gcc_dll\mswu
  • PATH: (add these) %WXWIN%\lib\gcc_dll;%WXWIN%;%CABAL_DIR%\wxc-%WXC_VERSION%\%GHC_VERSION%

Steps:

  1. Download wxWidgets 2.9.3 source
  2. Extract to C:\wxWidgets-2.9.3
  3. Build wxWidgets-2.9.3
  4. Download wx-config.exe (a new version for wxWidgets > 2.9) and copy it somewhere into your path, for instance via
cp wx-config.exe %CABAL_DIR%\bin
  1. Install the wxHaskell libraries
cabal install wxdirect
cabal install wxc
cabal install wxcore
cabal install wx

wxWidgets 2.8 and wxHaskell 0.13.x

Follow SkyTreeBird's guide. It which walks you through the basic steps

  • wx-config
  • wxPack
  • setting up environment variables
  • cabal install wx

Note that the best way to refer to WxWidgets in your PATH is probably to use the WXWIN variable that you set, eg. %WXWIN%/lib/gcc_dll

The guide has been tested with the following configurations. Others may work too:

Windows Haskell Platform wxWidgets
XP 2010.2.0.0 2.8.10
7 2011.2.0.1 2.8.12

Troubleshooting installation with cabal

These remarks refer to wx-0.13.2 and Haskell Platform 2011.4.0.0 on Windows 7.

Cabal package wx depends on wxcore which depends on wxdirect. By default cabal installs on a per user base, thus wxdirect.exe will be installed to c:\Users\<YOUR NAME>\AppData\Roaming\cabal\bin\. This folder must be in your PATH for cabal install wxcore to succeed.

Package wxcore-0.13.2 does not work well with wx-config revision 21 2006-10-19 (downloaded from here on Feb 2nd 2012). If cabal install wxcore fails with an output containing "Usage: wx-config [options]" try this:

  • cabal unpack wxcore
  • cd wxcore-0.13.2
  • edit Setup.hs and comment out/remove the line containing "wx-config" ["--version"]
  • runhaskell.exe Setup.hs configure --user
  • runhaskell.exe Setup.hs build
  • runhaskell.exe Setup.hs install

Finally call cabal install wx.

See also