C++具有 JNI 的应用程序会引发错误"jvm.dll not found . re-installing the application could fix ...."



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

代码可以编译,但当我运行应用程序时,它失败了,说"没有找到jvm.dll。重新安装应用程序会修复它"。但是jvm.dll存在于我的电脑中

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

我还尝试将系统变量中的PATH变量更新到jvm.dll的位置,但没有成功。。

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

请告诉我出了什么问题。

提前谢谢。

问候Raghavendra

它失败了,说"没有找到jvm.dll。重新安装应用程序会修复它"。

很明显,这是您自己的错误消息,或者Windows的错误消息:不是Java的错误消息。重新安装应用程序不可能对是否可以找到jvm.dll产生任何影响。

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

尽管我的PATH是按照StockB描述的配置的,但我还是得到了同样的错误。将DLL复制并粘贴到我的工作目录中解决了这个问题。就我而言,这是/x64/调试。

最新更新