2012-09-14 3 views
2

자습서를 따라 첫 번째 JNI 프로그램을 작성합니다. 내 프로그램은 ..JNI 네이티브 : java.lang.UnsatisfiedLinkError : 아니요 java.library.path의 HelloWorld

package JNI; 
public class HelloWorld { 

    private native void print(); 

    public static void main(String[] args) { 
     new HelloWorld().print(); 
    } 

    static { 

     System.loadLibrary("HelloWorld"); 

    } 
} 

너무 간단하고 또한 C++ 기본 라이브러리 (.so를 파일)를 구축하고, 같은 디렉토리에

을 넣어 그리고

java -Djava.library.path=. JNI.HelloWorld 

(네이티브를 사용 라이브러리 및 helloworld.class가 같은 위치에 있음)

모든 것이 올바르게 보입니다. 그러나 오류는 나를 얽히게하지 마십시오 ..

도와 주시겠습니까?

+0

나는 지금까지 한 일에 대해 더 많은 정보가 필요하다고 생각합니다. 예를 들면 : 당신의 JNI-Wrapper 메소드와 ndk-build의 호출이 빠져 있습니다. – ashiaka

+0

JNI를 사용하기 쉬운 방법을 찾고 있다면 [JavaCPP] (http://code.google.com/p/javacpp/)를 사용하고 싶을 것입니다. –

답변

5

당신은

  • 라이브러리가 당신에 의해 실행이다 libHelloWorld.so
  • 라고되어 있는지 확인해야합니다.
  • JVM과 동일한 32/64 비트입니다.
+0

정말 좋은 점은 당신이 실행할 수 있어야합니다. 나는 잘못된 곳을보고 있었다. –

관련 문제