Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JNI在builder C++;应用_Java_C++_Jvm_Java Native Interface_C++builder - Fatal编程技术网

Java 如何使用JNI在builder C++;应用

Java 如何使用JNI在builder C++;应用,java,c++,jvm,java-native-interface,c++builder,Java,C++,Jvm,Java Native Interface,C++builder,所以我需要使用jni来调用java方法。 我从以下代码开始: JNIEnv *env1; JavaVM** jvm1; JavaVMInitArgs vm_args1; JavaVMOption options1[1]; options1[0].optionString = "-Djava.class.path=D:\\Java Src\\TestStruct"; //Path to the java source code vm_args1.version = JNI_VERSION_1_6

所以我需要使用jni来调用java方法。 我从以下代码开始:

JNIEnv *env1;
JavaVM**  jvm1;
JavaVMInitArgs vm_args1;
JavaVMOption options1[1];
options1[0].optionString = "-Djava.class.path=D:\\Java Src\\TestStruct"; //Path to the java source code
vm_args1.version = JNI_VERSION_1_6; //JDK version. This indicates version 1.6
vm_args1.nOptions = 1;
vm_args1.options = options1;
vm_args1.ignoreUnrecognized = 0;

int reAt = JNI_CreateJavaVM(jvm1, (void**)&env1, &vm_args1);
if(reAt < 0)
    Label1->Caption = "failed";
else
    Label1->Caption = "Success";
我将jvm2.lib添加到库路径,以修复关于JNI_CreateJavaVM函数的链接错误

现在我的应用程序编译没有错误

但当它调用JNI_CreateJavaVM函数时,它会崩溃

我在.exe附近添加了jvm.dll

步骤中的pb是多少

你怎么能修好它


Thx

JNI_CreateJavaVM的第一个参数应该是指向
JavaVM*
的有效指针:

JavaVM* jvm1;
int reAt = JNI_CreateJavaVM(&jvm1, ...);
在您的示例中,
jvm1
未初始化

有关详细信息,请咨询。

可能的副本
JavaVM* jvm1;
int reAt = JNI_CreateJavaVM(&jvm1, ...);