我想从C运行的代码使用从here取得的代码。试图运行的JVM的代码如下:无法加载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);
代码编译罚款然而,当我尝试执行它,我收到以下错误:
Error occurred during initialization of VM Unable to load native library: Can't find dependent libraries
看着我使用依赖this问题步行者找出我失踪的二进制文件。事实证明,我错过了我的电脑ieshims.dll
和wer.dll
,根据this提到的dll在Vista和以上版本中使用(我在XP上)。
那么几个问题,我想起:
- 我如何摆脱呢?
- 为什么我首先得到这个错误?我无法在XP中加载JVM吗?
我在Windows XP上,使用Visual Studio 2008,安装了JDK 1.7(也试过1.6)。
这些可能是误导无关的错误:http://stackoverflow.com/questions/2465111/dependency-walker-reports-ieshims-dll-and-wer -dll-missing – Thomas 2013-04-08 10:37:03
@Thomas,确实是。 – atoMerz 2013-04-10 11:50:26