微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

macOS 上的 OCaml + OpenGL – 选项?

如何解决macOS 上的 OCaml + OpenGL – 选项?

在 macOS 上是否有使用 OpenGL 或其他 GPU 处理框架以及 OCaml 的推荐路线?

直到最近,答案似乎都是“使用 glut 或使用 lablgl!”,但如果我目前(2021 年 3 月)尝试其中任何一个,安装失败,因为 OpenGL 在平台上不可用:

$ opam install glMLite
...
#=== ERROR while compiling glMLite.0.03.53 ====================================#
# context     2.0.7 | macos/x86_64 | ocaml-base-compiler.4.12.0 | https://opam.ocaml.org#01a0c228
...
# ocamlc -c configure.c
# clang-7: warning: argument unused during compilation: '-fno-strict-overflow' [-Wunused-command-line-argument]
# configure.c:4:12: Fatal error: 'OpenGL/gl.h' file not found
#   #include <OpenGL/gl.h>
#            ^~~~~~~~~~~~~
# 1 error generated.
# make[1]: *** [Makefile.enums:36: configure.o] Error 2

尝试 opam install lablgl 会产生等效的错误

造成这种情况的根本原因是,自 macOS 10.15 起,Apple 已弃用 OpenGL(请参阅 this question,其中链接到更详细的来源)。他们建议改用 Metal,但我不知道有任何 OCaml 绑定。

查看 lablglglMLite 错误游行,我没有看到相关的问题,但这两个看起来都非常稳定的软件包,因为最近的更新很少,所以我没有看到那里的相关报道并不一定感到惊讶。我对在任何一个地方添加我自己的错误报告都持怀疑态度,因为我不确定这是否是这些项目中的任何一个的问题,或者与 opam 存储库更相关(这似乎也没有有很多与此相关的内容)。更有可能的是,如果 OpenGL 不再出现在 macOS 上,那么这些项目中的任何一个都无能为力。

相关的 StackOverflow 问题似乎已有多年历史。

也许答案是“不要在 macOS 上使用 OpenGL”,但在这种情况下,我应该使用什么?或者我应该在哪里问?我在这上面遇到了一个出人意料的坚固且迅速的砖墙。

就上下文而言,我不是经验丰富的 OCaml 开发人员:我有一个副项目,它自然会受益于 GPU 级别的支持,这看起来是一个很好的、期待已久的学习 OCaml 的借口(有显然有一些有趣的 OCaml + 图形项目需要研究 - gameray-tracer - 它们共同给人的印象是 OCaml + GPU 并不是什么奇怪的利基兴趣。

我肯定不会是唯一对这个交叉点感兴趣的人,但是 macOS 上 OpenGL 的(当前或即将)消失似乎表明该领域即将发生重大变化:我如何找出那是什么新常态是?

我使用的是 macOS 10.15.7,通过(很棒的)Nix 安装了 opam 2.0.7。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。