2015-08-25 65 views
1

我试图从Java调用简单的C函数(使用痛饮):为什么我得到java.lang.UnsatisfiedLinkError(从java调用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) 

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

回答

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

解决它
相关问题