在Windows for Haskell(GHC)上安装SDL

约翰·米勒

背景:

我一直在使用光泽度库进行一些简单的图表工作。但是当需要进行更多交互时,我发现我想要一个功能更强大的库。经过研究,我决定喜欢SDL库的功能,并想尝试为其安装Haskell绑定。至此,我一直没有成功。

第1部分:

如何安装和配置SDL二进制文件,以便Haskell绑定可以使用它们?

第2部分:

在Hackage上众多且记录不良的SDL软件包中,哪个是当前社区中首选的绑定?如何获得该软件包以正确安装?

第3部分:(可选)

如果SDL不适合Haskell开发,那么首选的替代方法是什么?

ftl

我将回答有关SDL2的问题(也应对SDL1进行一些修改)。

  1. 在Windows上安装pkg-config(如何在Windows中安装pkg config?

    这个工具非常重要。各种Cabal软件包使用它来搜索库,并包含链接和编译的说明。

  2. 下载适用于Windows / MinGW的SDL开发库:http : //libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz

    如果已安装32位版本的Haskell平台,请解压缩文件夹i686-w64-mingw32

    对于64位版本,请提取x86_64-w64-mingw32

    您将获得以下布局:

    包括
    共享
    bin
    lib

  3. 使用pkg-config“注册”该库。

    将lib / pkgconfig / sdl2.pc复制到pkg-config.exe的文件夹中,或相应地修改/创建PKG_CONFIG_PATH。检查是否正确设置了所有内容:

    C:\ pkg-config --list-all | grep sdl2

    sdl2 sdl2-简单DirectMedia层是一个跨平台的多媒体库,旨在通过OpenGL和2D视频帧缓冲提供对音频,键盘,鼠标,操纵杆,3D硬件的低级访问。

  4. 将bin文件夹添加到PATH环境变量中。

  5. 通过Cabal安装程序安装sdl2软件包,并告诉Cabal在哪里可以找到您的库。

    示例:cabal install sdl2 --extra-include-dirs = C:\ lib \ sdl2 \ include --extra-lib-dirs = C:\ lib \ sdl2 \ lib \

为了测试我的安装,我写了一个小例子:

https://github.com/ftl2014/haskell-stuff/blob/master/sdl/

买家当心:

如果Cabal抱怨库“丢失”,则可能是确实找到了库,但该库不兼容(例如,使用32位而不是64位版本)或已损坏。头文件也是如此。由于某种原因,Cabal抱怨找不到SDL.h,因此我不得不使用存档的根头include文件夹中的标头(但也许我只是喝了太多的Kool-aid)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章