2012-06-06 10 views
5

प्रारंभ करने का प्रयास करते समय त्रुटियां जब मैं कंपाइलर का उपयोग करके JDK1_1InitArgs प्रारंभ करता हूं तो मुझे त्रुटियां मिलती हैं। मुझे इस चर को JNI_CreateJavaVM फ़ंक्शन का उपयोग करने के लिए आरंभ करने की आवश्यकता है।त्रुटियों को vm_args

  JavaVM *jvm; 
      JNIEnv *env; 
      jmethodID mid; 
      JDK1_1InitArgs vm_args; // Line 47 
      vm_args.version = 0x00010001; // Line 48 
      JNI_GetDefaultJavaVMInitArgs(&vm_args); 
      vm_args.classpath = "C:/Program Files/Java/jdk1.7.0/lib;.;"; 

      JNI_CreateJavaVM(&jvm, &env, &vm_args); 
      env = (*jvm)->AttachCurrentThread(jvm,&env,NULL); 
      jclass cls = (*env)->GetObjectClass(env,Obj); 
      mid = (*env)->GetMethodID(env,cls,"callBack","(Ljava/lang/String;)V"); 
      (*env)->CallVoidMethodA(env,Obj,mid,(*env)->NewStringUTF(env,"1B")); 

Reference

त्रुटियाँ:

enter image description here

मैं इन त्रुटियों को क्यों मिलता है? मैं उनसे पीछा कैसे छुड़ाऊं ​​?

+1

वह संरचना हेडर फ़ाइल से हटा दी गई हो सकती है। [यह बग रिपोर्ट यहां देखें।] (Http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5031222) – JoeFish

+0

@ जोफिश वैकल्पिक विकल्प क्या है? –

+0

मुझे नहीं पता, यही कारण है कि मैंने इसे उत्तर के रूप में पोस्ट नहीं किया। मुझे यकीन है कि कुछ और Google खोज हालांकि समाधान उत्पन्न करेंगे। – JoeFish

उत्तर

1

जेएनआई 1.1 अब समर्थित नहीं है। सही struct JDK1_1InitArgs की परिभाषा से पहले, हॉटस्पॉट के jvm.h से एक टिप्पणी देखें:

यह संरचना 1.1 की एक संस्करण के साथ वीएम से डिफ़ॉल्ट धागा ढेर आकार JNI_GetDefaultJavaVMInitArgs का उपयोग कर() प्राप्त करने के लिए लांचर द्वारा प्रयोग किया जाता है। यह अन्यथा समर्थित नहीं है, यह jni.h

स्रोत से हटा दिया गया है: http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/tip/src/share/vm/prims/jvm.h, लाइन 1673

यह एक JVM JDK 7 में 1.1 संस्करणीकृत बनाने के लिए असंभव प्रतीत होता है - जिसका अर्थ है कि आप 1.2 के बाद के संस्करण का उपयोग करना चाहेंगे, या पुराने जेडीके का उपयोग कर सकते हैं।

संबंधित मुद्दे