[問題] 請教各位一個embed java in C的問題??

看板C_and_CPP (C/C++)作者 (~咖啡癮君子~)時間16年前 (2009/07/26 16:24), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
各位好: 小弟我最近在使用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
自己去找 gcc 的 -l 參數和 Linux 下 export 指令的用途
07/26 17:07, 1F
文章代碼(AID): #1AR1AzGA (C_and_CPP)
文章代碼(AID): #1AR1AzGA (C_and_CPP)