0

Chez Scheme 用のOpenGL ライブラリ(現在は Linux のみのセットアップ) は、次のように GLUT ライブラリをロードします。

(define no-op (load-shared-object "libglut.so.3"))

これがそのコードへのリンクです。

libglut.so.3もちろん、ライブラリをLinux ではなくGLUT.framework/GLUTmacOS でロードしたいと考えています。

Ypsilon スキームがプラットフォームに基づいてライブラリをロードする方法の例を次に示します。

(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"))))

Chez Scheme でプラットフォームをチェックして、外国のライブラリのバインディングで同様のことを行うにはどうすればよいでしょうか?

4

2 に答える 2

1

どう(machine-type)ですか?

~ % uname -m -p -r -s
Darwin 15.6.0 x86_64 i386
~ % chez
Chez Scheme Version 9.4.1
Copyright 1984-2016 Cisco Systems, Inc.

> (machine-type)
ta6osx
于 2016-10-11T11:07:01.207 に答える