使用 Haskell 程序在 Mac 上出现 Glut 错误

Posted

技术标签:

【中文标题】使用 Haskell 程序在 Mac 上出现 Glut 错误【英文标题】:Glut Error on Mac with Haskell Program 【发布时间】:2013-10-24 13:45:21 【问题描述】:

我正在尝试运行必须使用 GLUT(绘制形状)的 Haskell 程序,但我收到以下错误消息:

*** Exception: user error (unknown GLUT entry glutSetOption)

当我在 Linux 上运行我的程序时,它可以运行,并且 GLUT 启动

所以我只从我的 Mac 上得到这个问题..

【问题讨论】:

当错误发生时,您是否向glutSetOption 发送了特定值? 我相信这是因为 Haskell GLUT 库链接到 GLUT 而不是 freeGLUT(只有后者有 glutSetOption)。但我还没有弄清楚如何在 Mac 上链接 freeGLUT... 【参考方案1】:

正如 user2141650 在评论中建议的那样,这似乎是由默认 macOS GLUT 和 freeGLUT 之间的差异引起的。从版本 2.7.0.12 开始,Haskell GLUT automatically picks freeGLUT 如果已安装。以下是我安装 freeGLUT 的方法:

安装 XQuartz: brew cask install xquartz 或 从xquartz.org 安装.dmgbrew install freeglut

我用brew 安装了XQuartz 和freeGLUT 后,我的程序仍然无法打开显示。正如this Reddit thread 中所建议的,我做了以下事情:

launchctl load -w /Library/LaunchAgents/org.macosforge.xquartz.startx.plist 重启了我的电脑

也许launchctl 命令就足够了,或者重新启动计算机就可以了,或者如果您使用.dmg 文件安装XQuarts,这一切都不是必需的。我不知道。祝你好运!

【讨论】:

以上是关于使用 Haskell 程序在 Mac 上出现 Glut 错误的主要内容,如果未能解决你的问题,请参考以下文章

mac中的glTexParameteri分段错误

为什么会出现解析错误,如何在haskell中解决此错误?

openGL glx.h 缺少表单 xcode 4 mac lion

如何使用haskell类型系统来描述关系,从而防止出现更多错误

使用 GL_RGB 格式抓取 Mac OS 屏幕

在 Haskell 中构建组合自参照透镜