0
我想從C++代碼調用java的東西.. 我鏈接JDK SE 7u25的包括和lib路徑到我的視覺工作室6.0(我只是嘗試它在舊版本的MSVC)。從C++調用java方法的麻煩
JNIEnv* create_vm(JavaVM ** jvm) {
JNIEnv *env;
JavaVMInitArgs vm_args;
JavaVMOption options;
options.optionString = "-Djava.class.path=C:\\Users\\myName\\Desktop\\Java Src\\TestStruct"; //Path to the java source code
vm_args.version = JNI_VERSION_1_6; //JDK version. This indicates version 1.6
vm_args.nOptions = 1;
vm_args.options = &options;
vm_args.ignoreUnrecognized = 0;
int ret = JNI_CreateJavaVM(jvm, (void**)&env, &vm_args);
if(ret < 0)
printf("\nUnable to Launch JVM\n");
return env; }
,我得到以下錯誤...
C:\ PROGRAM FILES \ JAVA \ JDK1.7.0_25 \ LIB \ jvm.lib:致命錯誤LNK1113:無效機器類型
有什麼問題? 我猜JNI_VERSION_1_6可能是問題..?因爲我使用版本SE 1.7.0_25。但我無法找到jni.h文件中的JNI_VERSION_1_7 ..
也許我必須卸載當前的jdk並安裝jdk SE 1.6版本?
感謝您閱讀吧:)
可能是32位與64位的問題。您的Java 32位或64位?您正在製作32位或64位的C++應用程序嗎? – Jesper