Não é possível obter o Freeglut para trabalhar com o Haskell no Windows
Aqui está o meu código fonte que estou tentando fazer funcionar:
Em Main.hs:
import Graphics.Rendering.OpenGL
import Graphics.UI.GLUT
import Bindings
import Data.IORef
main = do
(progname,_) <- getArgsAndInitialize
createWindow "Hello World"
reshapeCallback $= Just reshape
keyboardMouseCallback $= Just keyboardMouse
angle <- newIORef 0.0
displayCallback $= display
idleCallback $= Just idle
mouseWheelCallback $= Just mouseWheel
mainLoop
Em Bindings.hs:
module Bindings where
import Graphics.Rendering.OpenGL
import Graphics.UI.GLUT
display :: IO ()
display = return ()
overlayDisplay :: IO ()
overlayDisplay = return ()
visibility :: Visibility -> IO ()
visibility v = return ()
reshape :: Size -> IO ()
reshape s@(Size w h) = do
viewport $= (Position 0 0, s)
close :: IO ()
close = return ()
keyboardMouse :: Key -> KeyState -> Modifiers -> Position -> IO ()
keyboardMouse key state modifiers position = return ()
mouseWheel :: WheelNumber -> WheelDirection -> Position -> IO ()
mouseWheel wn wd p = return ()
idle :: IO ()
idle = return ()
Ele funciona se eu usar o glut32.dll normal e nenhuma das extensões freeglut no meu código, mas quero usar as extensões freeglut.
Quando eu uso freeglut.dll, renomeio para glut32.dll, e colocá-lo na mesma pasta que o meu exe, dá-me o erro:
main: user error (unknown GLUT entry glutInit)
Quando eu uso o normal glut32.dll da mesma maneira eu recebo o erro:
main: user error (unknown GLUT entry glutMouseWheelFunc)