2011-12-08 27 views
0

OpenKinectためJava JNI Wrapperを作るとき、私は次のエラーを取得する:OpenKinectのJava JNIエラー:libOpenKinect.so:未定義のシンボル:libusb_init

java: symbol lookup error: 
    /home/richard/libfreenect/wrappers/java/dist/libOpenKinect.so: 
    undefined symbol: libusb_init 

私は次の例外を除いてUbuntu Manual Installを使用します。

  • git://github.com/OpenKinect/libfreenect.gitworksの代わりにgit://github.com/michael-nischt/libfreenect.gitを実行してください。これはJNIラッパーがメインディストリビューションに統合されていないためです。
  • libglut3-devではなくfreeglut3-devです。

glviewを正常に実行できます。

LIBFREENET_LIBRARYが正しいディレクトリを参照するようにbuild.shスクリプトを変更します。 jarビルドが正常にコンパイルされます。サンプルファイルは正しくコンパイルされます。

javac -d ./ -classpath .:./dist/OpenKinect.jar ./OpenKinect/src/Example.java 

私が実行したときに、私はエラーを取得:

java -Djava.library.path=./dist -classpath .:./dist/OpenKinect.jar Example 

は誰にもこのエラーが発生しましたか?

誰でもこのエラーを解決できましたか?

+0

これはこれまでに並べ替えられていますか? – LewisMc

+0

@LewisMc:いいえ、私はしませんでした。 –

+0

私はそれを稼働させることができましたが、私はラップトップを再インストールしましたので、ちょうど今、lib地獄にいるので、これをソートすることになったら、私が行ったことを投稿します。 (私はosxのために必要な2つのjarファイルがありましたが、私が思い出したようにclasspathには1つしかありませんでした) – LewisMc

答えて

0

は、共有ライブラリのlibOpenKinect.soの依存関係を確認します。

ldd /home/richard/libfreenect/wrappers/java/dist/libOpenKinect.so/libsample.so 

あなたはlibusb-1.0.so.0の行を見つけなければなりません。そうでない場合、ライブラリがlibusbへのリンクではないことを意味します。解決方法は、共有ライブラリをフラグ-lusb-1.0で再コンパイルすることです。

関連する問題