понедельник, 14 февраля 2011 г.

Gtk2 и Haskell

Будем считать, что вы уже скачали Gtk2-Bundle и распаковали его в c:\gtk. Также вы прописал в переменной окружения PATH пути: c:\gtk\bin;c:\gtk\lib. Теперь необходимо установить gtk2hs-buildtools, который в свою очередь потребует установит пакет alex:
cabal install alex
Пакет alex собирается в %APPDATA%\cabal\bin, и поэтому этот путь также нужно включить в список PATH.
Теперь можно поставить gtk2hs-buildtools:
cabal install gtk2hs-buildtools
А теперь можно поставить и gtk:
cabal install gtk
Подождите несколько минут... и скомпилируйте вот этот код, чтобы удостовериться, что всё прошло нормально (x.hs назовем этот файл):
module Main where
import Graphics.UI.Gtk
main::IO()
main = do
        initGUI
        window <- windowNew
        l <- labelNew (Just "GTK2")
        containerAdd window l
        onDestroy window mainQuit
        widgetShowAll window
        mainGUI
Проверьте этот код в режиме интерпретации и в режиме компиляции:
ghci x.hs 
ghc --make x.hs -o test
test
Заметка: при запуске программы в режиме интерпретации может вылетать ошибка unknown symbol `_cairo_surface_destroy'. Дискуссия по этой проблеме ведется здесь и тут.
Отмечу, что у меня при установленной ghc-6.12.3+gtk-2.22 вылетала эта ошибка. Однако, при использовании Haskell Platform 2010 + gtk-2.18 накладок не возникло (связку Haskell Platform 2010 + gtk-2.22 проверю позже).

Комментариев нет:

Отправить комментарий