OpenGL library for Chez Scheme(Linuxの場合、現在のみの設定)に基づいた負荷分散オブジェクトは、GLUTライブラリをロードします。 シェ・スキーム - 次のようにプラットフォーム
(define no-op (load-shared-object "libglut.so.3"))
はここでそのコードへ
linkです。
もちろん、ライブラリにはlibglut.so.3
をLinuxにロードしますが、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"))))
我々は外国のライブラリのために私たちのバインディングに似た何かを行うことができるようにシェスキームプラットフォームをチェックする良い方法は何ですか?