由于版本和库依赖问题所以花费了很多时间去解决,所以必须记录下来
1.下载gtk+-bundle_3.4.2-20130513_win32
(把名字贴在google上就找到了,记着必须用这个版本,否则可能出现与gtk(haskell)兼容问题)
安装后把目录下的/bin加入path路径中(因为我们需要使用其中的dll编译haskell版的gtk库)
2.下载HaskellPlatform-2013.2.0.0-setup.exe
(同样,你也可以安装其他版本,不过我试过很多版本都不能成功,主要是gtk和haskell版本问题,所以就使用我推荐的吧)
3.接着打开cmd
执行以下的命令
cabal update cabal install gtk2hs-buildtools cabal install gtk3
4.不出意外就安装成功了(如果提示缺少intl.dll,可以从旧版本的gtk+-bundle找到,其他dll同样或者从google找)
接着
测试
-- A simple program to demonstrate Gtk2Hs.
module Main (Main.main) where
import Graphics.UI.Gtk
main :: IO ()
main = do
initGUI
window <- windowNew
widgetShowAll window
mainGUI
这个程序运行时可能出现缺少m.dll的提示,这时我们发现
D:\ProgramFiles\Haskell\mingw\lib
里有个libm.a其实就是math 库
我们把它编译成dll
gcc -shared libm.a -o libm.dll
让后放在D:\ProgramFiles\Haskell\mingw\bin