我终于在Windows上安装了Haskell SDL bindings。使用这个:
> $env:Path += ";C:\SDL;C:\SDL\bin;C:\SDL\include;C:\SDL\lib"
> cabal install SDL --extra-include-dirs="C:\SDL\include" --extra-lib-dirs="C:\SDL\lib"
只要为configure脚本安装了Cygwin,这就可以工作。但是,我写了一个很小的测试脚本:
import Graphics.UI.SDL as SDL
import Control.Monad (void)
import Control.Exception (bracket_)
main = bracket_ (SDL.init [InitEverything]) quit $ do
screen <- setVideoMode 800 600 0 []
SDL.flip screen
void $ waitEvent
现在尝试这个给我这个错误信息:
*Main> :main
Loading package SDL-0.6.4 ... <interactive>: mingw32: Cannot find specified module.
can't load .so/.DLL for: mingw32.dll (addDLL: could not load DLL)
现在我正在寻找那个mingw32.dll
,但我在我的电脑上找不到它,虽然我安装了MinGW32。有没有人有过这方面的经验?
使用SDL-0.6.4
中的GHC 7.4.2
,Haskell Platform 2012.4.0.0
。 Windows 7 64位。
ADDITION :我现在也按照A Haskell Adventure In Windows推荐的方式尝试过,结果非常相似。
答案 0 :(得分:1)
这可能是64位与32位的问题。尝试将.dll复制到:
答案 1 :(得分:1)
我使用MSYS / MinGW构建,我遇到了完全相同的问题。摆弄后我发现正在使用标志-lmingw32
(在文件sdl-config中),这似乎意味着mingw32.dll。我简单地删除了这个标记,一切正常。