背景:
我一直在使用光泽度库进行一些简单的图表工作。但是当需要进行更多交互时,我发现我想要一个功能更强大的库。经过研究,我决定喜欢SDL库的功能,并想尝试为其安装Haskell绑定。至此,我一直没有成功。
第1部分:
如何安装和配置SDL二进制文件,以便Haskell绑定可以使用它们?
第2部分:
在Hackage上众多且记录不良的SDL软件包中,哪个是当前社区中首选的绑定?如何获得该软件包以正确安装?
第3部分:(可选)
如果SDL不适合Haskell开发,那么首选的替代方法是什么?
我将回答有关SDL2的问题(也应对SDL1进行一些修改)。
在Windows上安装pkg-config(如何在Windows中安装pkg config?)
这个工具非常重要。各种Cabal软件包使用它来搜索库,并包含链接和编译的说明。
下载适用于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
使用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硬件的低级访问。
将bin文件夹添加到PATH环境变量中。
通过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] 删除。
我来说两句