2009-12-16 4 views
3

Je tente de créer la machine virtuelle Java dans un programme de Cplusplus en utilisant le code comme suit:JNI Java en C++

JNIEnv *env; 
JavaVMInitArgs vm_args; 
JavaVMOption options[1]; 
options[0].optionString = "-Djava.class.path=D:\\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");  

Je suis incapable de créer une instance car il me donne l'erreur suivante. Je suis en mesure de compiler, mais il donne erreur d'exécution comme ça ..

Sortie d'erreur: Une erreur est survenue lors de l'initialisation de la machine virtuelle Impossible de charger la bibliothèque native: Vous ne trouvez pas les bibliothèques dépendantes

peut-elle aider à personne merci d'avance :)

+0

7 questions et n'accepte? –

Répondre

2

Très probablement que jvm.dll ne soit pas dans votre PATH.

+0

où se référer le chemin il y a 2 jvm.dll dans mon dossier jdk que je peux mentionner ci-dessous C: \ Program Files \ Java \ jdk1.6.0_14 \ jre \ bin \ client C: \ Program Files \ Java \ jdk1 .6.0_14 \ jre \ bin \ server –

+0

d'après ce que je sais, peu importe lequel. Je choisis habituellement celui sous \ client. –

+0

dans ce dossier C: \ Program Files \ Java \ jdk1.6.0_14 \ lib je me réfère à jvm.lib dans mes paramètres de programme. –