0

これは、次の質問の補足です:ケース クラス インスタンスをマップに変換して元に戻すマクロを定義するときのコンパイル エラー

そこの答えは私の最初の問題を解決しました - 私は依存関係をインストールしていませんでした。ただし、ant clean allまだ見つからないため、問題が発生していますjni.h。これはおそらく、open jdk 6 をインストールするように指示されているためです。Oracle jdk 7 の回避策はありますか。次のエラーが表示されます。

myUser@ubuntu:~/Downloads/avahi4j-0.1$ ant clean all
Buildfile: /home/myUser/Downloads/avahi4j-0.1/build.xml

clean:
     [exec] make: Entering directory `/home/myUser/Downloads/avahi4j-0.1/src'
     [exec] rm -f avahi4j_Client.o avahi4j_EntryGroup.o avahi4j_Avahi4JConstants.o thread-watch.o avahi4j_ServiceBrowser.o avahi4j_ServiceResolver.o avahi4j_RecordBrowser.o libavahi4j.so ./*~
     [exec] make: Leaving directory `/home/myUser/Downloads/avahi4j-0.1/src'
   [delete] Deleting directory /home/myUser/Downloads/avahi4j-0.1/classes

init:
    [mkdir] Created dir: /home/myUser/Downloads/avahi4j-0.1/classes

jnilib:
     [exec] make: Entering directory `/home/myUser/Downloads/avahi4j-0.1/src'
     [exec] gcc -I. -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux/ -I/usr/include/avahi-common  -O3 -fPIC -DVER_MAJ="0" -DVER_MIN="1"   -c -o avahi4j_Client.o avahi4j_Client.c
     [exec] make: Leaving directory `/home/myUser/Downloads/avahi4j-0.1/src'
     [exec] avahi4j_Client.c:23:17: fatal error: jni.h: No such file or directory
     [exec]  #include <jni.h>
     [exec]                  ^
     [exec] compilation terminated.
     [exec] make: *** [avahi4j_Client.o] Error 1

BUILD FAILED
/home/myUser/Downloads/avahi4j-0.1/build.xml:75: exec returned: 2 

Total time: 0 seconds
4

1 に答える 1

0

問題が見つかりました。私の場合、に次の変更を加える必要がありましたsrc/Makefile

# It must be a JDK, not a JRE !!! 
#JDK_HOME := /usr/lib/jvm/java-6-sun 
JDK_HOME := /usr/lib/jvm/java-7-oracle 
#JDK_HOME := /usr/lib/j2sdk1.6-sun
于 2014-05-30T01:21:24.843 に答える