通过 Opengl 和 GLUT 在 Haskell 中编程

2024-01-09

每次我尝试编译并运行我找到的教程时,都会收到一条消息,提示“找不到模块 GL”或“找不到模块 GLUT”。我尝试用“import Graphics.Rendering.OpenGL”和“import Graphics.UI.GLUT”替换“import GLUT”,但这只会导致更多错误。 “import GLUT”应该做些什么,还是只是我误解的伪代码?


GLUT and OpenGL are both需要运行 OpenGL 应用程序。这不是 C 语言,导入一个就会导入另一个。

因此,您需要像这样导入库:

import Graphics.Rendering.OpenGL
import Graphics.UI.GLUT

然后,以下代码将创建一个简单的 OpenGL 窗口,该窗口只需刷新每个渲染上的命令缓冲区,以检查程序是否正常工作:

main :: IO ()
main = do 
  (progname, _) <- getArgsAndInitialize
  createWindow "Hello World"
  displayCallback $= flush
  mainLoop

使用以下命令编译程序:

ghc --make program.hs

如果这不成功,则意味着您没有正确安装 Haskell Platform,您需要检查 OpenGL 软件包是否已正确安装。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Opengl 和 GLUT 在 Haskell 中编程 的相关文章

随机推荐

  • Flutter报错无法启动守护进程

    我的 flutter 项目在我的旧笔记本电脑上运行顺利 但是当我使用我的新笔记本电脑时 我的 flutter 项目无法在调试模式下运行 这个错误 FAILURE Build failed with an exception What wen
  • 检查字符串是否包含CJK(中文)字符[重复]

    这个问题在这里已经有答案了 我需要检查一个字符串是否包含中文字符 搜索后我发现我必须使用正则表达式查看此模式 u31C0 u31EF 但我无法让正则表达式工作 有人经历过这种情况吗 正则表达式正确吗 正如所讨论的here https sta
  • Hibernate 的重复密钥问题

    使用 Hibernate 4 0 我有三个 hibernate 实体 歌曲 封面艺术 封面图片 Songs 代表音乐文件 CoverImage 代表图像 Cover Art 用于将封面图像与歌曲相关联 一首歌曲可以包含多个封面图像 Song
  • React Redux 与路由器位置、分页/排序和获取

    我正在编写一些通用的 Todo List 组件 具有以下功能 分页 排序 保留 URL 中的部分状态 页面 排序 使用 HTTP 请求异步获取数据 使用 redux saga 现在 我正在尝试寻找 最佳 redux 操作序列的模式 以使该操
  • 将资源放入jar文件中并将其公开给网络

    我有一个 Web 应用程序 其资源文件夹中有一堆 js 和 css 文件 我如何将它们公开到网络上以便能够在我的网页中引用它们 以及如何引用这些文件 我还想稍后将这些资源放在一个单独的 jar 文件中 并且 就像上一个问题一样 也将它们公开
  • Phonegap Hook - execvp 权限被拒绝

    我正在尝试运行我在网上找到的phonegap hook 但我总是在构建时遇到相同的错误 execvp Permission denied 该钩子是位于此处的 splash and icon 钩子 http devgirl org 2013
  • Dijkstra 算法是确定性的吗?

    我认为 Dijkstra 算法是确定的 因此如果您选择相同的起始顶点 您将得到相同的结果 到每个其他顶点的距离相同 但我不认为它是确定性的 它为每个操作定义了以下操作 因为这意味着它不必首先搜索最短距离 我对么 如果我错了 你能解释一下为什
  • 屏蔽 UIView、CALayer 的动画

    我正在努力实现以下目标 用户点击视图 circular视图会在其左侧弹出 其中包含一些图像内容 视图应该从触摸点开始动画到触摸视图外部左侧的最终帧 在动画过程中 它应该是一个圆圈 增长到正确的位置和大小 一切都与下面的代码配合得很好 仅此而
  • Css3 @fontface 不适用于 Chrome 17 和 Firefox 10

    我正在尝试将此代码用于阿拉伯字体的 fontface font face font family MothnnaFont src url fonts mothnna eot IE9 Compat Modes src url fonts mo
  • Spring Hibernate 5.4.22.Final:javax.persistence.TransactionRequiredException:升级 Spring Boot 时没有正在进行事务

    我最近从 Spring Boot 1 5 更新到 2 3 5 但在保存数据时遇到了一些问题 我的应用程序是 Spring Batch 它读取 处理数据并将数据写入数据库 读取器和处理器都很好 但编写器出现了问题 它在 1 5 spring
  • mod_pagespeed 缓存文件夹中的奇怪域

    大约一年前 我在我的 VPS 服务器上安装了 mod pagespeed 对其进行设置并使其运行 最近 我正在探索服务器上的文件 进入 pagespeed 缓存文件夹 发现了一些奇怪的文件夹 所有文件夹通常都以这种方式命名 2Fwww my
  • 如何创建自定义 Murmur Avalanche 混合器?

    我正在尝试使用 Avalanche 混合器来散列整数坐标 我一直在使用杂音3的 https en wikipedia org wiki MurmurHash cite note Horvath 732 位和 64 位雪崩混合器这样做 而不是
  • QLPreviewController 隐藏底部工具栏

    I use QLPreviewController在我的应用程序中 想要隐藏底部工具栏 该工具栏允许在其数据源项目中移动 有可能以某种方式做吗 我尝试将其搜索为subview of QLPreviewController s view但它只
  • 如何捕获 TDataModule.OnCreate 事件中的异常?

    我在 Delphi 中遇到了以下问题try except block 我有一个简单的应用程序 一个名为 MainFormfr MAIN和一个TDataModule named DM DM不是自动创建的 而是在运行时创建的fr MAIN s
  • 如何在 Rails 4 中重新加载路线 /config/routes/* ?

    如何强制rails 4重新加载所有路线文件 也就是说 无需重新启动应用程序即可从 config routes 创建路由 rb 已加载 我在 config routes 中将它们分开 rb 但是这些 config routes 文件不会重新加
  • Azure Blob - 503 出口超出帐户限制

    所以我偶尔会收到这个错误 初始化流读取器时出错或未找到 Blob 响应状态 代码不表示成功 503 出口超过该帐户 限制 我不知道帐户限制 并且文件不应大到足以突破吞吐量限制 Blob 存储具有一些令人惊讶的高吞吐量限制 有谁见过这个并知道
  • X11 为什么我无法绘制任何文字?

    我正在努力学习X11 这对我来说非常困难 因为我没有 Linux 上的窗口应用程序的经验 我写了一些简单的代码 但无法解决这个不可见的文本问题 一切可能都工作正常 当我尝试使用 DrawRectangle 函数绘制矩形时 它正在工作 这是代
  • 仅将对话中的最新回复复制到剪贴板

    我有以下 Outlook VBA 代码 可将所选电子邮件的正文复制到 Windows 剪贴板 Sub CopyMailToClipboard On Error GoTo HandleErr Copies the selected messa
  • PHP继承和MySQL

    所以我尝试在 PHP 中采用良好的面向对象编程技术 我的大多数 阅读全部 项目都涉及 MySQL 数据库 我眼前的问题涉及我需要开发的用户模型 我当前的项目有代理和潜在客户 代理和潜在客户都是拥有许多相同信息的用户 因此 显然 我想要一个
  • 通过 Opengl 和 GLUT 在 Haskell 中编程

    每次我尝试编译并运行我找到的教程时 都会收到一条消息 提示 找不到模块 GL 或 找不到模块 GLUT 我尝试用 import Graphics Rendering OpenGL 和 import Graphics UI GLUT 替换 i