繁体   English   中英

为什么我收到java.lang.UnsatisfiedLinkError(从Java调用C函数时)?

[英]why I'm getting java.lang.UnsatisfiedLinkError (when calling c function from java)?

我正在尝试从Java(使用swig)调用简单的c函数:

Example.c:

int add(int x, int y)
{
    return (x+y);
}

example.h文件:

int add(int x, int y);

Example.i:

%module Example

%{
#include "Example.h"
%}
int add(int x, int y);

我使用以下方法创建了Java文件: swig -java -package mainPkg Example.i

我的Java应用程序:

package mainPkg;

public class Main {

    public static void main(String[] args) {
        System.out.print(Example.add(3, 5));

    }

}

但是我得到了:

Exception in thread "main" java.lang.UnsatisfiedLinkError: mainPkg.ExampleJNI.add(II)I
    at mainPkg.ExampleJNI.add(Native Method)
    at mainPkg.Example.add(Example.java:13)
    at mainPkg.Main.main(Main.java:9)

为什么呢 我该如何解决呢?

static { System.loadLibrary("Example_C_LIB"); }

解决了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM