2012-03-10 14 views
0

JOGL OpenGLを使用して簡単なJavaプログラムをコマンドラインからコンパイルしようとしています。JOGLでコンパイルエラー

Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(Unknown Source) 
... 
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener 
... 
Could not find the main class: SimpleScene. Program will exit. 

私はすでに-classpathに私はJOGLディレクトリで見つけるすべてのの.jarファイルを追加します:Eclipseでは、すべては私がjavacでコマンドラインからコンパイルするとき、私は次のエラーを取得する、正常に動作します。プログラムを構築するMakefileは以下の通りです:

SimpleScene: 
    javac -Xlint:deprecation -classpath \ 
    $(jogl)/joal.jar:\ 
    $(jogl)/jogl.os.x11.jar:\ 
    ... 
    $(jogl)/nativewindow.awt.jar:\ 
    $(jogl)/jogl_cg-natives-linux-i586.jar:. \ 
    SimpleScene.java 
+1

'jar tf | grep GLEventListener'何かを表示しますか? –

+0

'。/ jogl.all.jar'には' javax/media/opengl/GLEventListener.class'が含まれています。他のいくつかのJARも同様に –

+0

というクラスパスにクラスパスを追加します。 'javac -cp jogl-all.jar <あなたのファイル名> .java' –

答えて

1

私は同様の問題を抱えていたし、私の単純なミスを考え出しました。 GLEventListenereはインターフェイスです。クラスではありません。

http://download.java.net/media/jogl/builds/archive/jsr-231-beta5/javadoc_public/javax/media/opengl/GLEventListener.html

私はGLEventListenerを使用しています私のコードは、キーワード「道具」を使う代わりに「拡張」する必要があるため、これを実現した後、私の問題を修正しました。