我正在尝试使用从此处获取的代码从 C 运行 java 代码。尝试运行JVM的代码如下:
JNIEnv *env;
JavaVMInitArgs vm_args;
JavaVMOption options;
options.optionString = "-Djava.class.path=D:\\Java Src\\TestStruct";
vm_args.version = JNI_VERSION_1_6;
vm_args.nOptions = 1;
vm_args.options = &options;
vm_args.ignoreUnrecognized = 0;
int ret = JNI_CreateJavaVM(jvm, (void**)&env, &vm_args);
代码编译得很好,但是当我尝试执行它时,我收到以下错误:
VM初始化时出错无法加载本机库:找不到依赖库
看着这个问题,我使用了dependency walker 来找出我缺少哪些二进制文件。事实证明我失踪了ieshims.dll
,wer.dll
我的电脑根据这个提到的 dll 用于 vista 及更高版本(我在 XP 上)。
于是我想到了几个问题:
- 我该如何摆脱这个?
- 为什么我首先会收到此错误?我不能在 XP 中加载 JVM 吗?
我在 Windows XP 上,使用 Visual Studio 2008,安装了 JDK 1.7(也尝试使用 1.6)。