JNI Java in c++

3

我正在尝试使用以下代码在C++程序中创建Java虚拟机:

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初始化期间发生错误 无法加载本地库: 找不到依赖库

有人可以帮帮我吗?谢谢!:)

1个回答

2
很可能 jvm.dll 不在您的 PATH 中。

在引用路径时,请注意我的JDK文件夹中有两个jvm.dll文件,它们分别位于以下位置:C:\Program Files\Java\jdk1.6.0_14\jre\bin\clientC:\Program Files\Java\jdk1.6.0_14\jre\bin\server - Rajesh Kumar J
就我所知,选择哪一个并不真的重要。通常我会选择 \client 下面的那个。 - Idan K
在这个文件夹 C:\Program Files\Java\jdk1.6.0_14\lib 中,我在我的程序设置中引用了 jvm.lib。 - Rajesh Kumar J
尝试将C:\Program Files\Java\jdk1.6.0_14\jre\bin\client添加到您的路径中,然后会发生什么? - Idan K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接