JavaのライブラリのJOGLを使用したいのですが、実行できず原因もわからず困っています。
背景
こちらのサイトを閲覧しながら、勉強しています。
JOGLによるOpenGL入門
こちらの、3.3 空のウィンドウを開くという章を行っています。
環境
クラスパスを通しているjarファイルは以下の2点です。
gluegen-rt.jar
jogl-all.jar
これらを、以下のMainクラスに
javac -cp .:./gluegen-rt.jar:./jogl-all.jar Main.java
として、コンパイルしています。
コンパイルは通るのですが、以下のように実行するとエラーが起こります。
java -cp .:./gluegen-rt.jar:./jogl-all.jar Main
エラー内容
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /Users/***/workspace/JOGL/myjogl/natives/macosx-universal//gluegen-rt at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1827) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:624) at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63) at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106) at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487) at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:421) at com.jogamp.common.os.Platform$1.run(Platform.java:317) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.common.os.Platform.<clinit>(Platform.java:287) at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147) at Main.<init>(Main.java:21) at Main.main(Main.java:17)
コード
import com.jogamp.opengl.GL; import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.GLCapabilities; import com.jogamp.opengl.GLEventListener; import com.jogamp.opengl.GLProfile; import com.jogamp.newt.event.WindowAdapter; import com.jogamp.newt.event.WindowEvent; import com.jogamp.newt.opengl.GLWindow; import com.jogamp.opengl.util.Animator; public class Main implements GLEventListener{ private Animator animator; public static void main(String[] args){ new Main(); } public Main(){ GLCapabilities caps = new GLCapabilities(GLProfile.get(GLProfile.GL2));//(2) GLWindow glWindow = GLWindow.create(caps); //(3) glWindow.setTitle("First demo (Newt)"); //(4) glWindow.setSize(300, 300); //(5) glWindow.addWindowListener(new WindowAdapter() { //(6) @Override public void windowDestroyed(WindowEvent evt) { System.exit(0); } }); glWindow.addGLEventListener(this); //(7) this.animator = new Animator(); //(8) this.animator.add(glWindow); this.animator.start(); glWindow.setVisible(true); //(10) } @Override public void init(GLAutoDrawable drawable) {} @Override public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {} @Override public void display(GLAutoDrawable drawable) {} @Override public void dispose(GLAutoDrawable drawable) { if(this.animator != null) this.animator.stop(); } }

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。