我正在尝试开始一些基本的Ocaml编程。首先,我想从维基百科上运行OpenGL示例。 http://en.wikipedia.org/wiki/Ocam L
let _ =
ignore( Glut.init Sys.argv );
Glut.initDisplayMode ~double_buffer:true ();
ignore (Glut.createWindow ~title:"OpenGL Demo");
let angle t = 10. *. t *. t in
let render () =
GlClear.clear [ `color ];
GlMat.load_identity ();
GlMat.rotate ~angle: (angle (Sys.time ())) ~z:1. ();
GlDraw.begins `triangles;
List.iter GlDraw.vertex2 [-1., -1.; 0., 1.; 1., -1.];
GlDraw.ends ();
Glut.swapBuffers () in
GlMat.mode `modelview;
Glut.displayFunc ~cb:render;
Glut.idleFunc ~cb:(Some Glut.postRedisplay);
Glut.mainLoop ()
给定的编译器指令
ocamlc -I +lablGL lablglut.cma lablgl.cma simple.ml -o simple
第2行只是原因和错误,说Glut.init是未绑定的。
我在cygwin上运行它,这可能是问题的根源。但有人知道如何解决它吗?
答案 0 :(得分:2)
您需要先安装LablGL绑定,如维基百科页面所示。我不知道Cygwin上最好的方法是什么。
P.S。 OpenGL编程几乎不是“基本的Ocaml编程”
答案 1 :(得分:0)
在cygwin + windows上工作实际上是一种痛苦。您遇到错误的原因很可能是库问题。它可能就像将opengl dll复制到可执行文件的目录中一样简单(首先尝试)。但很可能这是一个链接问题。你最好的选择是用msvc编译(有点痛苦)或用mingw编译。 mingw比在cygwin中使用整个工具链要好得多(FOR OPENGL)。但除此之外我更喜欢cygwin。
- 尼科