为什么我得到java.lang.UnsatisfiedLinkError(从java调用c函数时)?

时间:2015-08-25 16:13:34

标签: java swig

我试图从java调用简单的c函数(使用swig):

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)

为什么?我该如何解决?

0 个答案:

没有答案