Haskell 用MinGW中的阴谋集团编译SDL

Haskell 用MinGW中的阴谋集团编译SDL,haskell,mingw,sdl,cabal,sdl-1.2,Haskell,Mingw,Sdl,Cabal,Sdl 1.2,我正试图在明戈Haskell的阴谋集团内安装SDL,但我遇到了一些问题。阴谋集团找不到C库,我也不知道为什么。以下是一些信息: 我已经下载了SDL1.2的开发和运行库 对于开发版本,我将其设置为原生版本:它安装在/usr/include/SDL和/usr/lib中 我尝试了一个cabalinstallsdl,它失败了,因为它找不到头文件和库 然后,我用cabalinstallsdl-extra-include-dirs=/usr/include/SDL-extra-lib-dirs=/usr/

我正试图在明戈Haskell的阴谋集团内安装SDL,但我遇到了一些问题。阴谋集团找不到C库,我也不知道为什么。以下是一些信息:

  • 我已经下载了SDL1.2的开发和运行库
  • 对于开发版本,我将其设置为原生版本:它安装在
    /usr/include/SDL
    /usr/lib
  • 我尝试了一个
    cabalinstallsdl
    ,它失败了,因为它找不到头文件和库
  • 然后,我用
    cabalinstallsdl-extra-include-dirs=/usr/include/SDL-extra-lib-dirs=/usr/lib
    对其进行了另一次尝试。它找到了头文件,但仍然没有找到库
  • 我在
    /usr/lib
    中复制了运行库
    SDL.dll
    ,仍然有同样的问题
  • 最后,我将
    /usr/lib
    添加到
    路径
    LD#u库路径
    ,但仍然找不到它C库

你有什么想法吗?

这可能是“迷信”,因为我从来没有找到它的原因,但是当我使用MinGW/SYS和“runhaskell安装程序”构建时,提供--extra include dirs和--extra lib dirs似乎需要Windows风格的完整路径…(我不使用cabal安装)。对于SDL,我编辑cabal文件,更改这些字段“Include Dirs:C:\msys\1.0\Include\SDL”和“Extra Lib Dirs:C:\msys\1.0\Lib”@stephentelley:这种行为最可能的原因是当GHC和/或cabal是期望Windows行为的Windows应用程序时,但是你从一个伪unix环境中调用它们,这个环境为那些期望类似于unix的环境的应用程序翻译东西,在这一点上,当你试图找出哪种类型的路径在哪里起作用时,就会产生无限的欢笑。上次我检查时,它起了作用:@AlpMestanogullari我试图跟随你给我的链接,问题仍然是:ghc找不到C库。奇怪的是,我看到了
libSDL.dll.a
libSDLmain.a
,我正确地设置了
额外的库
包括dir
额外的Lib dir
但是……你怎么会经历所有这些/usr/*dir?对我来说,按照那篇教程默默无闻地学习是有效的。你从阴谋集团/ghc那里得到了什么确切的错误信息?