gpt4 book ai didi

multithreading - 使用 Haskell Graphics.Gloss 时出现 GLUT fatal error

转载 作者:行者123 更新时间:2023-12-05 06:39:01 26 4
gpt4 key购买 nike

我正在关注 this tutorial 并创建了一个包含以下内容的 demo.hs 文件:

import Graphics.Gloss

window :: Display
window = InWindow "Nice Window" (200, 200) (10, 10)

background :: Color
background = white

drawing :: Picture
drawing = circle 80

main :: IO ()
main = display window background drawing

但是,当我在终端中执行 runhaskell demo.hs 时,我收到以下错误消息:

GLUT Fatal Error: internal error: NSInternalInconsistencyException, reason: nextEventMatchingMask should only be called from the Main Thread!

此错误是什么意思,我该如何解决?我使用的是 macOS Sierra 版本 10.12.5。

最佳答案

使用 -fno-ghci-sandbox 启动 ghci。这是因为 OpenGL 使用线程本地状态,当运行的程序在不同的线程中时,它不起作用。

stack ghci --ghc-options -fno-ghci-sandbox

这对我有用。

(此解决方案归功于 reddit 上的 danielkroeni。)

关于multithreading - 使用 Haskell Graphics.Gloss 时出现 GLUT fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45197922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com