的OpenGL library for Chez Scheme(对于Linux目前只设置)负载共享对象加载glut库如下:桑切斯方案 - 基于平台
(define no-op (load-shared-object "libglut.so.3"))
这里有一个link该代码。
当然,我们希望图书馆在Linux上加载libglut.so.3
,但在macOS上加载GLUT.framework/GLUT
。
下面是基于该平台如何地老虎计划负载库的例子:
(define libGLUT
(cond
(on-darwin (load-shared-object "GLUT.framework/GLUT"))
(on-windows (load-shared-object "glut32.dll"))
(on-linux (load-shared-object "libglut.so.3"))
(on-freebsd (load-shared-object "libglut.so"))
(on-openbsd (begin
(load-shared-object "libXmu.so.10.0")
(load-shared-object "libGLU.so.7.0")
(load-shared-object "libglut.so.3.7")))
(else
(assertion-violation
#f
"can not locate GLUT library, unknown operating system"))))
什么是检查切斯方案的平台,让我们可以做我们的外国库绑定类似的好办法?