[問題] 請教各位一個embed java in C的問題??
各位好:
小弟我最近在使用JNI讓C程式可以呼叫到java的類別 , 其中第一要宣告一個
JavaVM pointer指向java VM , 如下:
JNI_CreateJavaVM(&vm, (void **)&env, &vm_args);
基本上只要這一行可以成功你就可以透過vm和env這兩個指標去呼叫java的物件方法
但我的疑問是在compile的時候要下:
gcc -I/usr/lib/jvm/java-6-sun/include \
-I/usr/lib/jvm/java-6-sun/include/linux \
-L/usr/lib/jvm/java-6-sun/jre/lib/i386/server/ -ljvm jnitest.cc
這樣的命令,如果沒有沒有-ljvm在JNI_CreateJava會出現錯誤????WHY???
undefined reference to `JNI_CreateJavaVM'......
請問這是甚麼原因呢????
最後還要再設定
export export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:libjvm.so的路徑
完成這兩個步驟才可以順利的在C程式中呼叫java的靜態方法
請教大家-ljvm 和export LD_LIBRARY_PATH , 這兩個command的意義是甚麼
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.136.129
→
07/26 17:07, , 1F
07/26 17:07, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章