JNI:找不到依赖库

JNI: Can't find dependent libraries

当我使用 JNI运行 我的程序时出现此错误

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

我将所有 JDK 8 个 DLL 文件移动到工作目录,但没有帮助。
我还尝试将 JAVA_HOME 设置为 JRE 路径,但这没有帮助。
我也试过 Dependency Walker,它说有一些 DLL 没有找到 JDK 8 doesn't have

我的 JVM 创建代码:

JVM create_java_vm()
{
    const char* argv[] = { "-Djava.compiler=NONE,
                          "-Djava.class.path=.",}; //"-verbose:jni"
    const int argc = static_cast<int>(sizeof(argv) / sizeof(argv[0]));

    JavaVMInitArgs jvm_args;
    JavaVMOption options[argc];

    for (int i = 0; i < argc; ++i)
    {
        options[i].optionString = const_cast<char*>(argv[i]);
    }

    JavaVM* vm = nullptr;
    JNIEnv* env = nullptr;
    JNI_GetDefaultJavaVMInitArgs(&jvm_args);

    jvm_args.version = JNI_VERSION_1_8;
    jvm_args.nOptions = argc;
    jvm_args.options = options;
    jvm_args.ignoreUnrecognized = false;

    if (JNI_CreateJavaVM(&vm, reinterpret_cast<void**>(&env), &jvm_args) != JNI_OK)
    {
        return { vm, env }
    }

    return { vm, env }
}

我也试过了,但是程序找不到jvm.dll

如何解决这个错误?

我解决了这个问题,将我的 exe 文件添加到 jre 中的服务器文件夹