haskell gloss
Gloss 是一个用于创建图形和动画的 Haskell 库,特别适合用来制作 2D 图形和动画。它提供了简洁的 API 来进行图形渲染,并且能够轻松地在 Haskell 中进行动画和交互式程序开发。
wsl运行gloss
一开始我使用wsl的archlinux启动gloss项目,但是build失败,报错如下
1 | Error: [S-7282] |
GLURaw-2.0.0.5 构建失败,尝试了安装opengl,glut等依赖依旧没能解决,估计是因为wsl的图形驱动没能处理好。索性我在windows尝试了一番。
windows运行gloss
使用stack新建项目并添加gloss依赖,这时候stack build正常了,但是stack run会报错
1 | F:\project-private\test\test-2d>stack run |
这是因为缺少opengl的接口,程序需要通过opengl接口访问windows显卡的opengl。
现在需要安装freeglut,官网推荐windows使用msys2进行安装。
MSYS2(Minimal SYStem 2)是一个在 Windows 平台上提供类 Unix 环境的工具集。它为 Windows 用户提供了一些 Unix 风格的命令行工具、库和开发环境,主要用于软件开发,尤其是在与 Linux 或类 Unix 系统进行交互时,提供了一个类似的开发体验。
安装好msys2后,打开msys2开始安装
搜索freeglut相关的包
1 | pacman -sS freeglut |
找到w64版本安装
1 | pacman -S mingw-w64-x86_64-freeglut |
安装完成后还需要找到msys2安装软件的bin目录,添加到环境变量中,这样在windows的haskell程序才能找到。
以下是msys2安装软件的bin目录
1 | D:\Applications\msys2\mingw64\bin |
在该目录能发现msys2安装的windows可用的dll文件
1 | D:\Applications\msys2\mingw64\bin\libfreeglut.dll |
添加完环境变量记得重新开启终端,新的终端才能读取到新的环境变量。