2009-12-16 6 views
3

Я пытаюсь создать виртуальную машину Java в программе cplusplus, используя код следующим образом:JNI Java в 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");  

Я не могу создать экземпляр, как он дает мне следующую ошибку. я могу скомпилировать, но он дает ошибку во время выполнения, как это ..

Вывод ошибок: Ошибки при инициализации VM Невозможно загрузить исходную библиотеку: Не удается найти зависимые библиотеки

Может кто-нибудь помочь мне спасибо заранее

+0

7 вопросов и не принимает? –

ответ

2

Скорее всего, что jvm.dll не находится в вашей PATH.

+0

, где для ссылки на путь есть 2 jvm.dll в моей папке jdk, которую я могу указать ниже C: \ Program Files \ Java \ jdk1.6.0_14 \ jre \ bin \ client C: \ Program Files \ Java \ jdk1 .6.0_14 \ jre \ bin \ server –

+0

из того, что я знаю, на самом деле не имеет значения, какой из них. Обычно я выбираю файл под клиентом. –

+0

в этой папке C: \ Program Files \ Java \ jdk1.6.0_14 \ lib Я обращаюсь к jvm.lib в своих настройках программы. –

Смежные вопросы