我可以使用 GHC 成功构建链接到 OpenGL 的可执行文件,但是,我无法将包加载到 GHCi 中。这对我来说绝对是一种回归,因为它适用于 32 位 GHC(至少是我升级的版本)。我认为 GHC 版本并不重要,只是我使用的是 64 位 GHC 系统这一事实。
在维护者的建议下,我成功地将正确的 64 位版本的 opengl32 带入了 GHCi。这似乎是更高层次的问题。
这是相关的输出。不幸的是,详细的输出同样具体。函数 wglGetProcAddress 用于查找 OpenGL API 挂钩在 dll 中的位置。
$ ghcii.sh -package OpenGL
GHCi, version 7.6.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package OpenGLRaw-1.2.0.0 ... linking ... ghc.exe: unable to load package `OpenGLRaw-1.2.0.0'
ghc.exe: C:\...\cabal\OpenGLRaw-1.2.0.0\ghc-7.6.1\HSOpenGLRaw-1.2.0.0.o: unknown symbol `__imp_wglGetProcAddress'