JNotify JNI動態庫在Linux下的編譯

在CentOS7下,JNotify編譯好的動態庫無法使用,自己編譯了以下,供參考。
需要安裝gcc, make, jdk, jdk-devel
CentOS7中安裝很方便:
yum install -y java-1.8.0-openjdk.x86_64
yum install -y java-1.8.0-openjdk-devel.x86_64
rpm -qa | grep jdk
從列出的包中找到jdk-devel包的具體名稱,再查詢安裝位置:
rpm -qs java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64
從上面的命令中就可以看到jni.h頭文件和jni_md.h的具體位置,用於替換下面的-I後面的文件(需要包含的文件位置)。
以下代碼中的include文件目錄需要依據具體安裝來定。

gcc -shared -fPIC -I/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/include/ -I/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/include/linux/ net_contentobjects_jnotify_linux_JNotify_linux.c -o libjnotify.so
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章