Проблема с запуском wxHaskell (Windows)

Страница: (http://en.wikibooks.org/wiki/Haskell/GUI) описывает, что для запуска wx-кода можно установить wx, а затем нужно "зарегистрировать wxHaskell с GHC", но я думаю, что двоичный установщик wxHaskell (http://wxhaskell.sourceforge.net/download.html) делает это автоматически?

Я установил wx-config, а затем wxPack и wxHaskell. а затем выполнил установку камеры wx и wxcore. Я запускаю несколько демонстраций wx от Leksah, которые кажутся в основном хорошими - но у них были некоторые странные ошибки (я нашел предполагаемое решение для этого: "wxhaskell-labels-can-display-full-text" ), но я хотел попробовать вещи только от GHCi.

Я пытаюсь запустить их простые демонстрации и ошибки:

D:\csPlangs\Haskell\play>ghci -package wx wxGui1.hs
GHCi, version 7.0.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package stm-2.2.0.1 ... linking ... done.
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package Win32-2.2.0.1 ... linking ... done.
Loading package filepath-1.2.0.0 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Loading package directory-1.1.0.0 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package parsec-3.1.1 ... linking ... done.
Loading package time-1.2.0.3 ... linking ... done.
Loading package wxdirect-0.12.1.4 ... linking ... done.
Loading package wxcore-0.12.1.7 ... ghc.exe: stdc++: The specified module could
not be found.
<command line>: can't load .so/.DLL for: stdc++ (addDLL: could not load DLL)

И также [интересная] ошибка:

*Main> q

<interactive>:1:1: Not in scope: `q'
*Main>
ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.0.3 for i386-unknown-mingw32):
        thread blocked indefinitely in an MVar operation

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Ответы

Ответ 1

Это, по-видимому, известная проблема с комбинацией wxHaskell, GHCi и Windows. Из http://www.haskell.org/haskellwiki/WxHaskell/Quick_start

В Windows 7 ghci будет жаловаться "не может загрузить .so/.DLL для: std С++...". Но ghc --make Hello.hs; Hello.exe в командной строке работает хорошо.

Итак, вы можете скомпилировать свой код. Вы просто не можете запустить его через интерпретатор.