5

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

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

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

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

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

请建议我出了什么问题。

提前致谢。

问候拉加文德拉

4

2 回答 2

1

它没有说“找不到jvm.dll。重新安装应用程序可以解决它”。

显然那是你自己的错误信息,或者 Windows': not Java's,这是不正确的。重新安装应用程序不可能对是否jvm.dll可以找到任何影响。

您需要确保它jvm.dll在您的 PATH 上。

于 2012-11-14T03:27:44.907 回答
0

即使我的 PATH 配置为 StockB 描述的,我也遇到了同样的错误。将 DLL 复制并粘贴到我的工作目录中解决了这个问题。就我而言,这是../x64/Debug。

于 2020-02-06T22:42:42.563 回答