4

JOGL を使用してデスクトップ アプリを作成し、Win/Mac/Linux にデプロイしています。Linux では、インストールされている OpenGL ライブラリが常に機能しているとは限らず、独自のソフトウェア エミュレーション OpenGL を切り替える機能が必要であることがわかりました。当然、ライブラリ/usr/lib の後または / の前配置できると予想していました。 usr/lib を使用して、私たちのものまたはデフォルトを優先します。

うちのがJOGLに優先的に取り上げられていることがわかりました。JOGl ライブラリが libGL などを探す特別な処理を行っているかどうかを知っている人はいますか? どんな情報でも大歓迎です。

4

1 に答える 1

3

JOGL の Java 側は、ネイティブ ライブラリとのインターフェイスに JNI (Java Native Interface) を使用していると思います。JNI は、この Java システム変数java.library.pathを使用して、ネイティブ ライブラリを見つけます。Java アプリの実行時に -D スイッチを使用して、コマンド ラインで設定できます。

java -Djava.library.path=/some/path mypackage.MyProgram

また、ネイティブ システムが適切な OpenGL ライブラリ自体を選択していない可能性もあります。Linux では、環境変数 LD_LIBRARY_PATH を設定して、Linux が共有ライブラリを探す場所を指定できます。このページでは詳細を説明しています (セクション 3.3.1 を参照)。

なお、JOGL のホームページで JOGL のソースコードを入手できるので、どうしても知りたい場合はダウンロードして調べてみてください。

(「新規ユーザーはハイパーリンクを 1 つしか投稿できない」というばかげた制限があるのはなぜですか????)

于 2009-08-05T13:19:50.727 に答える