椿の日記

たぶんプログラムの話をします

wxHaskellインストール手順

こちらを参考にして進めます。
http://d.hatena.ne.jp/sirocco/20100620/1276999507

wxWidgetsのインストール

ここからwxWidgetsの最新(現時点で2.8.11)をダウンロードして、適当なところで展開します。
http://www.wxwidgets.org/downloads/


MSYS環境で、展開したフォルダに移動して、

$ cd build/msw
$ mingw32-make -f makefile.gcc BUILD=release MONOLITHIC=1 SHARED=1 UNICODE=1

cabalのインストール

cabalをインストールします。ここからダウンロードできます。パスが通るところに置きます。
http://www.haskell.org/cabal/download.html

wx-configのインストール

$ cabal install wx

とすると、wx-configがない、と言われるので、exeを落としてきて、パスが通るところに起きます。
http://sites.google.com/site/wxconfig/

環境変数WXWINとWXCFGを設定

もう一度実行すると、環境変数WXWINが無いといわれます。WXWINと、WXCFGを設定します。

WXWIN=c:\usr\bin\wxWidgets-2.8.11
WXCFG=gcc_dll\mswu

環境変数PATHを設定

cabalがインストール時に作成したバイナリを外部コマンドとして認識させるために次の位置にパスを設定します。

C:\Users\%username%\AppData\Roaming\cabal\bin

(XPとかだとDocument and Settingsとかにあるかも?)
以上で準備終わり。もう一度cabal install wxで完了です。

サンプルを実行する

$ cd /c/usr/bin/wxhaskell-0.11.1.2/samples/wx
$ ghc --make controls.hs

wxWidgets-2.8.11\lib\gcc_dll\wxmsw28u_gcc_custom.dll

のDLLをカレントディレクトリにコピーして実行するとサンプルが動作します。