我在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/调试。