我试图从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)
为什么?我该如何解决?