[JNI] JNI_CreateJavaVM liefert JNI_ERR zurück



  • Ich versuche gerade mittels JNI von C aus auf eine Java Methode zuzugreifen.

    #include <stdio.h>
    #include <windows.h>
    #include "MpuTools.h"
    #include "jni.h"
    
    int main () {
    	JavaVM *jvm = NULL;
    	JavaVMInitArgs vm_args;
    	JavaVMOption options[2];
    	JNIEnv *env = NULL;
    
    	options[0].optionString = "-Djava.compiler=NONE";
    	options[1].optionString = "-Djava.class.path=.";
    
    	vm_args.version = JNI_VERSION_1_4;
    	vm_args.options = options;
    	vm_args.nOptions = 2;
    	vm_args.ignoreUnrecognized = JNI_FALSE; 	
    
    	printf("JNI_CreateJavaVM");
    	int res = JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args);
        if (res != JNI_OK) {
        	switch (res) {
        		case JNI_ERR:
    				printf("Error: %d\nunknown error", res);
    				break;
    			case JNI_EDETACHED:
    				printf("Error: %d\nthread detached from the VM", res);
    				break;
    			case JNI_EVERSION:
    				printf("Error: %d\nJNI version error", res);
    				break;
    			case JNI_ENOMEM:
    				printf("Error %d:\nnot enough memory", res);
    				break;
    			case JNI_EEXIST:
    				printf("Error %d:\nVM already created", res);
    				break;
    			case JNI_EINVAL:
    				printf("Error %d\ninvalid arguments ", res);
    				break;
        	}    	
        	return 0;
        }
        else {
        	printf("JVM created successfully");
        }	 	
    	return 0;
    }
    

    Leide rbekomme ich immer den Fehler JNI_ERR (unbekannter Fehler) zurück, mit dem ich nichts anfangen kann. Weiß da jemand weiter?

    Falls es in ein C Forum besser passt, bitte verschieben. Danke.



  • Crossposting: http://www.c-plusplus.net/forum/viewtopic-var-t-is-160672.html

    Dort gehts weiter.

    MfG SideWinder



  • Sorry, ich dachte die Java-Menschen könnten mir eventuell besser helfen.


Anmelden zum Antworten