【问题标题】:Unsatisfied Link Error不满意的链接错误
【发布时间】:2012-04-22 14:34:32
【问题描述】:

为什么会出现不满意的链接错误?
详情如下:

Native Method 的原型及其在我的 java 代码中的调用如下:

private native long sampleFunction(long[][] twoDimArray, 长号);

p.sampleFunction(twoDimArray, number);

原生方法在VC++代码中的原型是这样的:

JNIEXPORT jlong​​ JNICALL Java_MyClass_sampleFunction(JNIEnv *env, jobject obj, jobjectArray myArray, 长号);

【问题讨论】:

    标签: java java-native-interface


    【解决方案1】:

    您是否使用 JVM 启动参数 -Djava.library.path=path/to/dll 将您正在使用的 .dll 添加到 Java 库路径?否则,JVM 将无法链接到 DLL,您将收到上述错误。

    如果您喜欢该方法,也可以将 .dll 复制到 JVM lib 目录。

    【讨论】:

    • 我已经完成了一切。我也得到了第一个参数所需的输出。但是当我尝试使用两个参数的同一个程序时,我得到了上述错误。
    • 根据equip.sourceforge.net/javatrans/docs/…,您可能需要将您的native方法的第四个参数更改为long long
    • 您好 mcfinnigan,感谢您的回复。我尝试将 long 替换为 jlong​​,我成功了。
    • 太棒了,很高兴这是一个简单的修复:)
    猜你喜欢
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多