带有 JNI 的 C++ 应用程序抛出错误“找不到 jvm.dll。重新安装应用程序可以修复......”

use*_*083 5 java-native-interface jniwrapper jnienv

我在 VC6 中编写了一个普通的 C++ 应用程序,它使用 jni 调用 java 中的方法。为此,我在项目目录中包含了 jni.h 和其他 lib 文件夹。

代码编译但是当我运行应用程序时它失败说“找不到jvm.dll。重新安装应用程序会修复它”。但是 jvm.dll 存在于我的电脑中。

如果我将应用程序的工作目录设置为 jvm.dll 所在的位置,那么它就像一个魅力。我无法将应用程序的工作目录设置为 jvm.dll 目录,因为该应用程序将来会成为 dll。

我也尝试将系统变量中的 PATH 变量更新到 jvm.dll 的位置,但没有任何效果..

我怀疑 jvm.lib 正在从我的应用程序未提供的某个目录位置加载 jvm.dll .. 因此它失败了,..

请建议我出了什么问题。

提前致谢。

问候拉加文德拉

use*_*421 1

它失败并提示“未找到 jvm.dll。重新安装应用程序可以修复它”。

显然,这是您自己的错误消息,或者 Windows':而不是 Java 的错误消息,并且它是不正确的。重新安装应用程序不可能对是否jvm.dll可以找到任何影响。

您需要确保它jvm.dll位于您的 PATH 中。