无法加载JVM
Cannot load JVM
我正试图使用从这里采取的代码从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时发生错误无法加载本机library: Can't find dependent libraries
在这个问题中,我使用了dependency walker来查找我丢失的二进制文件。事实证明,我的电脑缺少ieshims.dll
和wer.dll
,根据这一点,上述dll用于vista及以上(我在XP)。
于是我想到了几个问题:
- 我如何摆脱这个?
- 为什么我首先得到这个错误?我不能在XP中加载JVM吗?
我在Windows XP上,使用Visual Studio 2008,安装JDK 1.7(也尝试过1.6)。
在你链接的文章下面的讨论区有一个类似的问题。
在那里,一个用户发现解决方案是确保在PATH
环境变量中有Java二进制文件的路径。例如:
PATH = "C:Program FilesJavajdk1.6.0_18jrebinclient";...
还有另一种方法-您可以从自定义位置动态加载jvm.dll,并设置java.library.path变量指向本机库。这样,它就不必依赖于系统环境PATH。
下面是其他线程中的示例:
在c++中使用JNI创建JVM不返回
相关文章:
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 树莓上的 Libtorch 无法加载 pt 文件,但在 ubuntu 上工作
- Python ctypes:不会按预期加载 dll
- 为什么会出现 gettnig 运行时错误:加载类型为"_Bit_type"(stl_bvector.h) 的空指针?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 保存/加载大量短数组到二进制文件
- 使用 SDL2 和SDL_image C++加载图像
- 无法使用加载库卸载注入的 dll (C++)
- jvm.dll 上的加载库失败,错误代码为 183
- 加载共享库时出错:JVM.dll
- 无法加载JVM
- 无法使用LoadLibrary加载jvm.dll