我在VC6中编写了一个普通的C ++应用程序,它使用jni来调用java中的方法。为此,我在项目目录中包含了jni.h和其他lib文件夹。
代码编译但是当我运行应用程序时,它无法说"找不到jvm.dll。重新安装应用程序将修复它"。但是jvm.dll存在于我的电脑中。
如果我将应用程序的工作目录设置为jvm.dll所在的位置,那么它就像魅力一样。我无法将应用程序的工作目录设置为jvm.dll目录,因为此应用程序将来会成为一个DLL。
我还尝试将系统变量中的PATH变量更新为jvm.dll的位置,但没有任何作用..
我怀疑jvm.lib正在从我的应用程序未提供的某个目录位置加载jvm.dll ..因此它失败了,..
请告诉我出了什么问题。
提前致谢。
此致 Raghavendra
答案 0 :(得分:1)
它无法说“找不到jvm.dll。重新安装应用程序会修复它”。
显然这是你自己的错误信息,或Windows':不是Java,而且是不正确的。重新安装应用程序不会对是否可以找到jvm.dll
产生任何影响。
您需要确保jvm.dll
在您的路径上。
答案 1 :(得分:0)
即使我的PATH如StockB所述配置,我也遇到了同样的错误。将DLL复制并粘贴到我的工作目录中解决了该问题。就我而言,这是../x64/Debug。