- 締切済み
SimpleOpenNIのエラーについて
Processing1.5.1を使ってmaicrosoft社製 Kinectを制御するプログラムを作成しています。 SimpleOpenNI.jarのライブラリを利用して下記のようなプログラムを実行しようとすると、context = new SimpleOpenNI(this);の行で、UnsatisfiedLinkError:can't find SimpleOpenNI no SimpleOpenNI in java.library.pathとエラーが出てしまいます。 (ちなみにOpenKinect.jarというライブラリでは問題なく実行できますのでKINECTの問題ではないと思います。) /* リスト3.16 赤外線画像を取得するサンプル */ import SimpleOpenNI.*; SimpleOpenNI context; void setup() { context = new SimpleOpenNI(this); context.enableIR(); // 赤外線画像を有効にする size(context.irWidth(), context.irHeight()); } void draw() { context.update(); // カメラの更新 image(context.irImage(),0,0); // 赤外線画像の表示 } //ここまで 備考: ・環境はmacbook air cori5 macOS10.6.8です。 ・OpenNIとNITEはインストール済みです。 ・ライブラリpathはuser/username/書類/processing/SimpleOpenNI/library/SimpleOpenNI.jarとなっております。他のライブラリもこのような構成ですがエラーは出ません。 ・プログラムと同じフォルダ中にcodeという名のフォルダを作りそこにSimpleOpenNI.jarをおいても駄目でした。 分かる方いたら教えて頂ければ嬉しいです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- salsberry
- ベストアンサー率69% (495/711)
試さずに書きますが、UnsatisfiedLinkErrorが出るということはネイティブライブラリ(Windowsなら.dll、Linuxなら.so、Mac OS Xなら.dylibという拡張子がついているのが普通)を正しくロードできなかったことを意味します。.jarファイルは関係ありません。 ・SimpleOpenNIが利用する.dylibファイルを正しくインストールできていない ・.dylibファイルはインストールできているが、その場所をJavaから正しく認識できていない などがUnsatisfiedLinkErrorの原因として考えられます。
お礼
回答ありがとうございます。その後、.dylibの再インストールや、pathなどを確認しましたが上手くいきませんでした。いづれにしろ、Javaから正しく認識できていないのでしょうね。いろいろ試してみます。