質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2132閲覧

JOGLで「Exception in thread “main” java.lang.UnsatisfiedLinkError」が生じる

kra8

総合スコア79

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/07/13 10:41

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(); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

gluegen-rt.jar
jogs-all.jar
gluegen-rt-natives-macosx-universal.jar
jogl-all-natives-macosx-universal.jar

の合計4つのjarが必要でした。

投稿2016/07/13 11:59

kra8

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問