我想從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