wxHaskell はじめに

ホーム


wxHaskell

wxHaskellは、人気のあるwxWidgets GUI フレームワークを、Haskellで使えるようにしたものです。

以前は、wxHaskellのインストールに失敗していたのですが、Haskell Platformのバージョンを下げることにより、インストールに成功しました。

このページでは、wxHaskell を Windows へインスールする方法を説明しています。

macOS へのインストール

macOSへのインストールは macOS へのインストールをご覧ください。

Linux へのインストール

Linuxへのインストールは Linux へのインストールをご覧ください。

Windows へのインストール

Windowsへのインストールは、

  1. Haskell Platformのインストール
  2. wxWidgetsのインストール
  3. wxHaskellのインストール

の三段階になります。

しかしここでは、「wxWidgets」と「wxHaskell」を「wxInstallパッケージ」というものを使って、同時にインストールしますので、実際には二段階です。

Haskell Platformのインストール

次のリンクから HaskellPlatform8.0.2-a-full-...-setup.exeをダウンロードしてインストールしてください。「...」のところは、お使いのシステムに合わせて、「i386」か「x86_64」を選んでください。

Index of /~platform/8.0.2/

なお、Haskell Platformの最新安定板は次のリンクからダウンロードできますが、現在(2019年1月3日)のバージョン 8.6.3 には、Gtk2HS のインスールが、まだ出来ません。

macOSの場合も、Haskell Platform 8.0.2までにしか、wxHaskellをインストールできませんでした。

以上の理由から、ここでは Haskell Platform 8.0.2をインストールします。

Haskell Platform 8.1 以上をインストールしていた場合に、もし、このチュートリアルを進めるのであれば、Haskell Platform 8.0.2をインストールしてください。Haskellは自動的に最後にインストールされたバージョンを使います。また、私に余裕があれば、他のバージョンを削除する方法も後述しようと思うっています。

Download Hakell Platform

インストールが終了したら、コマンドプロンプトを起動して ghci と入力してください。 もし、コマンドプロンプトが最初から開いていたら、コマンドプロンプトを再起動してから ghci と入力してください。

ghci
GHCi, version 8.0.2: https://www.haskell.org/ghc/ :? for help
Prelude>

上記のように表示されたら、Haskell Platformは無事にインストールされています。

ghci(Haskellのインタープリタ)を終了するには :q と入力します。ghciのコマンドは : (コロン)で始まります。

Prelude> :q
Leaving GHCI.

wxInstallパッケージのインストール

32bit Windowsの場合は、下記リンクから 「wxInstall-Achelanne-32-0.1.zip」をダウンロードしてください。

64bit Windowsの場合は、下記のリンクから 「wxInstall-Achelanne-64-0.1.zip」をダウンロードしてください。

wxHaskell - SourceForge.netで/ wxInstallをブラウズ

ダウンロードした ZIP ファイルを解凍してください。私の場合は、解凍したフォルダを「wxHaskell」という名前に変えて、 C: 直下置きました。

解凍したフォルダの中の「Install.bat」をダブルクリックします。

コマンドプロンプトが起動してインストールが始まるはずです。もし始まらなかったら、コマンドラインに次のように入力して、「cabal」をアップデートしてから、もう一度「Install.bat」をダブルクリックしてください。

cabal update

なお、このインストールには、時間がかかります。

パスの追加

インストールが終了しましたら、次のようにパスを追加するように指示されます。


Ready; now add
C:\wxHaskell\DLLs
and
C:\wxHaskell\wxWidgets\lib\gcc_dll
to your search path
続行するには何かキーを押してください . . .
    

指示どおり、何かのキーを押すとコマンドプロンプトが閉じます。

パスの追加方法は次の通りです。

  1. コントロールパネルを開く
  2. 「システムとセキュリティ」→「システム」と進む
  3. 「システムの詳細設定」をクリック
  4. 「環境変数」をクリック
  5. 「環境変数」ダイアログが表示されましたら、「システム環境変数」から「Path」を選択して「編集」をクリックします
    (この画面はWindowsのバージョンによって違います)
  6. 「システム変数の編集」ダイアログが表示されましたら、「変数値」に次のパスを追加します。
    (この画面はWindowsのバージョンによって違います)
    • C:\wxHaskell\DLLs;
    • C:\wxHaskell\wxWidgets\lib\gcc_dll;
    慣れていない場合は、変数値の最初に追加して、セミコロン「;」をつけてください。
  7. 編集が終わりましたら、「OK」→「OK」→「OK」でダイアログを閉じてください。

パスの追加後、もしコマンドプロンプトが開いていたら、一度閉じて、もう一度開いてください。

Windows での実行

上記で Windows へのインストールは完了しました。次のソースコードを記述して、お好きなところに UTF-8 で保存してください。ここでは、frame.hs という名前にました。ファイルの拡張子は .hs になります。

frame.hs


import Graphics.UI.WX

main :: IO ()
main = start $ do
    frame []
    return ()
    

ghci (インタープリタ) による実行

コマンドプロントを起動して、frame.hs を保存したディレクトリに移動してださい。そして ghci frame.hsと入力してください。


ghci frame.hs
GHCi, version 8.0.2: https://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( frame.hs, interpreted )
Ok, modules loaded: Main.
*Main>
    

上記のように「Ok, modules loaded: Main.」と表示されれば読み込みに成功しています。
もし「Failed, modules loaded: none.」と表示された場合は、コードに間違いがあるか、ファイルタイプがUTF-8になっていないかなどの問題があります。読み込みが成功した場合はコマンドプロントに「main」と入力して実行します。

main

Windowsでは、ghciで実行した場合、次のような警告ダイアログが2回表示されます。それぞれ「OK」を押して、無視してください。

libgcc_s_seh-1.dllがないため、プログラムを開始出来ません。
この問題を解決するには、プログラムを再インストールしてみてください。

その後、無事に、アプリケーションが起動します。

ghc (コンパイラ) による実行

コマンドプロントに「ghc frame.hs」と入力してコンパイルします。

ghc frame.hs
[1 of 1] Compiling Main ( frame.hs, frame.o )
Linking frame.exe ...

上記のように表示されればコンパイルは成功しています。

(Windowsでの、wxWidgets、wxHaskellのコンパイルには多少時間がかかります)

frame.hs:4:31: error:
lexical error in string/character literal (UTF-8 decoding error)

上記のように表示されればどこかが間違っています。修正して、再度コンパイルします。

無事にコンパイルできた場合は、コマンドプロンプトで実行ファイル名を指定して起動します。.exe 拡張子はつける必要はありません (つけても問題ありません)。

frame

コンバイルされた「frame.exe」ファイルをダブルクリックしても起動できます。ただしコマンドプロンプトも開いてしまいます。今、コマンドプロンプトを開かずに起動する方法を探しています。


20682 visits
Posted: Jan. 02, 2019
Update: Jan. 16, 2019

ホーム   目次   ページトップ