0

LibusbJava には (私のセットアップ用の) Ant / jni.h 問題があるようです。実行してLibusbJavaをセットアップすると、次のエラーが発生します

ant linux

CentOS 6.3でroot として (迅速かつ汚いテスト、ユーザー レベル = 0 について心配している人に感謝します)。最初のインストールが機能したときのリフレクションの後、libusbjava リファレンスに示されているように、適切な制限を付けてやり直します。LibusbJava は、libusbライブラリの Java ラッパーです。

出力は次のように始まります。

[root@somebox LibusbJava]# ant linux -lib $JAVA_HOME/include -lib $JAVA_HOME/include/linux
Buildfile: build.xml

clean:

Build LibusbJava Test Linux:

Build LibusbJava Test:
     [echo] Building Library for unit tests:
     [exec] /.../libusbjava/trunk/LibusbJava/LibusbJava.cpp:27:17: error: jni.h: No such file or directory
     [exec] /.../libusbjava/trunk/LibusbJava/LibusbJava.cpp:34:26: error: test/CuTest.h: No such file or directory
 `...`

私のシステムに設定されていないためです。jni.h は、LibusbJava.cpp ファイルに追加する必要があったC++コードによって呼び出されるヘッダーのようです。これが新しいインクルードです/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/include/jni.h。次に、 jni. h に含まれる jni_md. h を細かくすることができないというエラーが表示されます#include "jni_md.h"

-lib明らかにこれは正しいアプローチではないため、おそらく正しい Ant 参照が必要ですが、スイッチではそれを行うことができないようです。さらに、これは Ant のビルド試行中に何千ものjni.hファイル エラーを作成するだけです。

この問題を解決するにはどうすればよいですか?

注: 私は$JAVA_HOMElikeJAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64javacandを設定しました。正常にjava動作します。


新しい発見...私を導いてくれた有益な質問の後、私はコンパイルの成功にはるかに近づいています.

LibusbJava をインストールし、すべてのライブラリ参照を build.xml に手動でインストールすると、memset エラーに基づいて LibusbJava をコンパイルするときにまだエラーが発生します。2007 年に登場した libusb の memset パッチを見ましたが、使用方法や関連性が不明です。調査中... ヒント、コメント、質問を歓迎します。これまでのご支援に心から感謝いたします。

 [exec] /.../libu/libusbjava/trunk/LibusbJava/objects/Usb_Device.cpp: In function ‘void Usb_Device_disconnect(JNIEnv*)’:
 [exec] /.../libu/libusbjava/trunk/LibusbJava/objects/Usb_Device.cpp:88: error: ‘memset’ was not declared in this scope
[antcall] Exiting /.../libu/libusbjava/trunk/LibusbJava/build.xml.

BUILD FAILED

しかし、インクルードstring.hまたはcstringへの参照は見つかりません。Usb_Device.cpp のヘッダーには、C++ Stub for the java class of a java class ch.ntb.inf.libusbJava.Usb_Device.このインクルード#include "Usb_Device.h" which also does not appear to have a string include. Perhaps just insertion of#include`?しかないことが記載されています。

4

0 に答える 0