gpt4 book ai didi

java - JVM初始化时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:39 24 4
gpt4 key购买 nike

我意识到这个问题已经被一些人问过,但他们的回答并没有解决我的问题。

我目前正在尝试制作一个 QT 应用程序,并且我有一些用 Java 编写的代码我想使用,所以我决定在我的应用程序中实现 JNI。

我使用以下代码初始化虚拟机:

    JNIEnv* SokoSolver::createVM(JavaVM **JVM){
JNIEnv* Env;
JavaVMInitArgs args;
JavaVMOption options;

options.optionString = "-Djava.class.path=./";

args.version = JNI_VERSION_1_6;
args.nOptions = 1;
args.options = &options;
args.ignoreUnrecognized = 0;

int returnValue = JNI_CreateJavaVM(JVM, (void**)&Env, &args);
if(returnValue < 0 || !Env){
cout << "Unable to launch JVM, Return Value: " << returnValue << endl;
}

return Env;
}

但是,每当我的代码运行时,我都会收到一条错误消息:

Error occurred during initialization of VM Unable to load native library: Can't find dependent libraries.

我使用的是 x86 版本的 JVM.lib/JVM.dll,以及相关的头文件。根据其他答案,我更改了 Windows 中的路径变量以开始:

C:\Program Files (x86)\Java\jdk1.8.0_74\bin; 
C:\Program Files (x86)\Java\jdk1.8.0_74\jre\bin\server;

但是当我运行我的代码时,我仍然得到完全相同的错误。这个问题还有其他解决方案吗?是否与以下内容有关:

options.optionString = "-Djava.class.path=./";

最佳答案

这可能是您系统上安装的 jdk 的问题。只需重新安装 jdk 8u92 并在系统的环境路径中添加相同的路径即可。

关于java - JVM初始化时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35479465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com