gpt4 book ai didi

java - 引用了未解析的外部符号 __imp__JNI_CreateJavaVM@12

转载 作者:太空狗 更新时间:2023-10-29 19:52:59 26 4
gpt4 key购买 nike

我想编写一个调用 Java 方法的 C++ 程序。

我正在尝试从 C++ 调用 Java 函数。如此处所述

http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/invocation.html

但我在调试时遇到这个错误,无法处理。我正在使用 Visual Studio 2012。这是我的代码 C++ 代码。

#include "stdafx.h"
#include <jni.h> /* where everything is defined */

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
JavaVM *jvm; /* denotes a Java VM */
JNIEnv *env; /* pointer to native method interface */
JavaVMInitArgs vm_args; /* JDK/JRE 6 VM initialization arguments */
JavaVMOption* options = new JavaVMOption[1];
options[0].optionString = "-Djava.class.path=C:\\Users\\yv\\workspace\\JNI\\bin"; // my class is under this directory.

vm_args.version = 0x00010006;
vm_args.nOptions = 1;
vm_args.options = options;
vm_args.ignoreUnrecognized = false;

/* load and initialize a Java VM, return a JNI interface
* pointer in env */
JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args); // I got err msg "cannot convert parameter 2 from 'JNIEnv **' to 'void **' " so added (void **) as described in some other sources

delete options;
jvm->DestroyJavaVM();


return 0;
}

我的 comp 版本上安装的 Java 是C:\Users\yv>JAVA 版本Java 版本“1.7.0_17”Java(TM) SE 运行时环境(build 1.7.0_17-b02)Java HotSpot(TM) 64 位服务器 VM(构建 23.7-b01,混合模式)

和我的 java 代码以备不时之需。

public class jniClass {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello, World!");
System.out.println("Arguments sent to this program:");
if (args.length == 0) {
System.out.println("(None)");
} else {
for (int i=0; i<args.length; i++) {
System.out.print(args[i] + " ");
}
System.out.println();
}
}
}

最佳答案

我解决了错误:

unresolved external symbol _imp_JNI_CreateJavaVM@12 referenced

为应用程序配置安装正确版本的 JDK。我在 Windows 7(64 位)机器上安装了 64 位版本的 JDK。但是,我的应用程序是 32 位的。我卸载了 64 位 JDK 版本并安装了 32 位。之后没有链接错误。

关于java - 引用了未解析的外部符号 __imp__JNI_CreateJavaVM@12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com