3

私は Eclipse で Scala で JOGL を使用しようとしていますが、JOGL/Scala の初心者であるため、いくつかの依存関係エラーに遭遇しました。グーグルは有用なものをあまり返してくれませんでした。

Setting_up_a_JogAmp_project_in_your_favorite_IDEに従って Java JOGL プロジェクトをセットアップしました 。

上記のプロジェクトに依存する Java プロジェクトで次の Java クラスをコンパイルする

import javax.media.opengl.GLProfile;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.awt.GLCanvas;

public class Game {

    public static void main(String[] args) {
        GLProfile glp = GLProfile.getDefault();
        GLCapabilities caps = new GLCapabilities(glp);
        GLCanvas canvas = new GLCanvas(caps);

        System.out.println("Hello World");
    }
}

動作し、期待どおりに出力Hello Worldされます。

しかし、以下のように Scala プロジェクトを作成し、JOGL プロジェクトを使用しようとすると、

import javax.media.opengl.GLProfile;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.awt.GLCanvas;


object Game {
    def main (args: Array[String]): Unit = {
        val glp = GLProfile.getDefault();
        val caps = new GLCapabilities(glp);
        val canvas : GLCanvas = new GLCanvas(caps);

        System.out.println("Hello World"); 
    }
}

Eclipseが次のエラーを通知するため、コンパイルさえしません。

CapabilitiesImmutable の読み込み中にエラーが発生しました。G:\Eclipse\workspace\JOGL\jogl-all.jar(javax/media/nativewindow/CapabilitiesImmutable.class) で必要な依存関係 'class com.jogamp.common.type.WriteCloneable' がありません。Scala JOGL 不明スカラ問題

GLCanvas の読み込み中にエラーが発生しました。依存関係 'class com.jogamp.common.util.locks.RecursiveLock' がありません。G:\Eclipse\workspace\JOGL\jogl-all.jar(javax/media/opengl/awt/GLCanvas.class で必要です) ) Scala JOGL 不明な Scala の問題

GLContext の読み込み中にエラーが発生しました。G:\Eclipse\workspace\JOGL\jogl-all.jar(javax/media/opengl/GLContext.class) Scala で必要な依存関係 'class com.jogamp.common.util.locks.RecursiveLock' がありませんJOGL 不明な Scala の問題

とに関する行を削除するGLCapabilitiesGLCanvas

object Game {
    def main (args: Array[String]): Unit = {
        val glp = GLProfile.getDefault();


        System.out.println("Hello World"); 
    }
}

コンパイルして印刷しますHello World

私の質問は - Scala コードが機能しないのはなぜですか? それを修正するにはどうすればよいですか? すべきではない JOGL と Scala コードを混同しているクレイジーなブードゥー教を行っているのでしょうか? いくつかの依存関係を追加するのを忘れましたか?

バージョン情報

Eclipse: (バージョン: Juno リリース ビルド ID: 20120614-1722 )

Eclipse 用 Scala IDE: (バージョン: 2.1.0.nightly-2_09-201208290312-cc63a95 ) (プロバイダー: scala-ide.org )

JOGAMPリリース 2.0-rc10の一部としての JOGL

編集: わかりました、gluegen-rt.jar ライブラリと jogl.jar ライブラリを Scala プロジェクト自体のビルド パスに追加すると、この問題は解決します (最初にそれを行うことを考えていなかったとは信じられません..)。何が間違っていたのか、まだ正確にはわかりません。

4

1 に答える 1

2

参考までに、私の JOGL SBT プロジェクトの 1 つで、以下を追加する必要がありました。

  • gluegen-rt.jar
  • gluegen-rt-natives-.jar
  • jogl-all-2.0-rc9.jar
  • jogl-all-2.0-rc9-natives-.jar

これを機能させるには、依存関係のリストに追加します。私の推測では、これらを Eclipse のビルド パスに含める必要があります。

これらは次のリポジトリから入手できます: http://jogamp.org/deployment/maven

于 2012-08-29T07:59:58.703 に答える