私は 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 の問題
とに関する行を削除するGLCapabilities
とGLCanvas
、
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 プロジェクト自体のビルド パスに追加すると、この問題は解決します (最初にそれを行うことを考えていなかったとは信じられません..)。何が間違っていたのか、まだ正確にはわかりません。