WxHaskell/Windows: Difference between revisions
(→wxWidgets 2.9 and wxHaskell 0.90.x: Corrected version of MSYS; added CABAL_DIR info for Windows XP) |
|||
Line 51: | Line 51: | ||
</pre> | </pre> | ||
</ol> | </ol> | ||
=== DLLs === | |||
In order to run a wxHaskell application, the following wxHaskell DLLs must be in the search path: | |||
* wxbase293u_gcc_custom.dll | |||
* wxbase293u_net_gcc_custom.dll | |||
* wxbase293u_xml_gcc_custom.dll | |||
* wxc.dll (in directory wxc\dist\build\, after building package wxc in directory wxc) | |||
* wxmsw293u_adv_gcc_custom.dll | |||
* wxmsw293u_aui_gcc_custom.dll | |||
* wxmsw293u_core_gcc_custom.dll | |||
* wxmsw293u_gl_gcc_custom.dll | |||
* wxmsw293u_html_gcc_custom.dll | |||
* wxmsw293u_propgrid_gcc_custom.dll | |||
* wxmsw293u_ribbon_gcc_custom.dll | |||
* wxmsw293u_richtext_gcc_custom.dll | |||
* wxmsw293u_stc_gcc_custom.dll | |||
* wxmsw293u_xrc_gcc_custom.dll | |||
Furthermore, the following DLLs need to be in the search path: | |||
* libgcc_s_dw2-1.dll | |||
* libstdc++-6.dll | |||
* mingwm10.dll (from MinGW\bin\) | |||
Some wxHaskell application also require the following DLLs: | |||
* uuid.dll | |||
* perl510.dll | |||
* libaprutil-1.dll | |||
These DLLs can be obtained by installing [http://sourceforge.net/projects/xampp/ XAMPP]; the DLLs are in the directories: | |||
* XAMMP\xampp\perl\site\lib\auto\APR\UUID | |||
* XAMMP\xampp\perl\bin | |||
* XAMMP\xampp\apache\bin | |||
== wxWidgets 2.8 and wxHaskell 0.13.x == | == wxWidgets 2.8 and wxHaskell 0.13.x == |
Revision as of 20:34, 25 August 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 1.0.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 (Windows XP: C:\Documents and Settings\XXX\Application Data\cabal, or for all Windows versions: %APPDATA%\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:
- Download wxWidgets 2.9.3 source
- Extract to C:\wxWidgets-2.9.3
- Build wxWidgets-2.9.3
I (who?) compiled it as follows: edit wxwidgets-src-dir\build\msw\config.gcc so that the following values are set:SHARED ?= 1 BUILD ?= release
Then (in cmd.exe, not bash):
cd wxwidgets-src-dir\build\msw mingw32-make -f makefile.gcc
- 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
- Install the wxHaskell libraries
cabal install wxdirect cabal install wxc cabal install wxcore cabal install wx
DLLs
In order to run a wxHaskell application, the following wxHaskell DLLs must be in the search path:
- wxbase293u_gcc_custom.dll
- wxbase293u_net_gcc_custom.dll
- wxbase293u_xml_gcc_custom.dll
- wxc.dll (in directory wxc\dist\build\, after building package wxc in directory wxc)
- wxmsw293u_adv_gcc_custom.dll
- wxmsw293u_aui_gcc_custom.dll
- wxmsw293u_core_gcc_custom.dll
- wxmsw293u_gl_gcc_custom.dll
- wxmsw293u_html_gcc_custom.dll
- wxmsw293u_propgrid_gcc_custom.dll
- wxmsw293u_ribbon_gcc_custom.dll
- wxmsw293u_richtext_gcc_custom.dll
- wxmsw293u_stc_gcc_custom.dll
- wxmsw293u_xrc_gcc_custom.dll
Furthermore, the following DLLs need to be in the search path:
- libgcc_s_dw2-1.dll
- libstdc++-6.dll
- mingwm10.dll (from MinGW\bin\)
Some wxHaskell application also require the following DLLs:
- uuid.dll
- perl510.dll
- libaprutil-1.dll
These DLLs can be obtained by installing XAMPP; the DLLs are in the directories:
- XAMMP\xampp\perl\site\lib\auto\APR\UUID
- XAMMP\xampp\perl\bin
- XAMMP\xampp\apache\bin
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
.