我一直在使用these SDL2 绑定(bind)。虽然我可以执行编译后的程序,但无论我如何尝试,都无法从 GHCi 打开窗口。我已经尝试了存储库中的示例,但它们有同样的问题。我不断收到的错误消息是:
*** Exception: SDLCallFailed {sdlExceptionCaller = "SDL.Video.getWindowSurface", sdlFunction = "SDL_GetWindowSurface", sdlExceptionError = "Invalid window"}
如果有什么相关的话,我在 macOS 上。我也不一定与这个库结婚,如果有一种方法可以使用不同的库从 GHCi 创建窗口,我会很感兴趣。
最佳答案
我正在使用堆栈,这解决了我的问题:
stack ghci --ghci-options '-fno-ghci-sandbox'
我不太确定为什么会这样,但我有一种预感,这与 ghci 生成线程有关,并且 SDL2 想要在主线程中使用窗口。如果有人对这些事情有更好的理解,我非常感兴趣。
关于haskell - 在 GHCI 中创建 SDL2 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61842338/