JNI_CreateJavaVM () завершается с кодом выхода 1
Я пытаюсь вызвать метод Java из C ++, используя JNI. Для этого ямы установилиjdk1.7.0_51
, связывая противjdk1.7.0_51\lib\jvm.lib
, в том числеjdk1.7.0_51\include
а такжеjdk1.7.0_51\include\win32
, используя следующий код в Visual Studio 2012, я пытался создать объект Java vm - но функция всегда завершает мое приложение с кодом выхода 1 (функция неt return 1: моя программа завершается полностью и отправляет код выхода 1).
#include
#include "jni.h"
int main(int argc, char*argv[]){
JNIEnv* env = nullptr;
JavaVM* jvm = nullptr;
JavaVMInitArgs vm_args;
JavaVMOption options[2];
options[0].optionString = "-Djava.class.path=.";
options[1].optionString = "-DXcheck:jni:pedantic";
vm_args.version = JNI_VERSION_1_6;
vm_args.nOptions = 2;
vm_args.options = options;
vm_args.ignoreUnrecognized = JNI_TRUE; // remove unrecognized options
int ret = JNI_CreateJavaVM(&jvm, (void**) &env, &vm_args);
std::cout < "This code is never reached" < std::endl;
return 0;
}