x264.dll을 중심으로 JNA 래퍼를 만드는 중입니다. 내 x264_param_t에 대한 다음과 같은 클래스가 :JNA가있는 x264 인코더
http://pastebin.com/Mh4JkVpP 그러나
, 나는 다음과 같은 오류 얻을
x264_param_t param_t = new x264_param_t;
처럼 내 x264_param_t를 초기화 할 때 :
Exception in thread "main" java.lang.IllegalArgumentException: Can't determine size of nested structure: Can't instantiate class anotherReversed.x264_param_t$Vui (java.lang.InstantiationException: anotherReversed.x264_param_t$Vui)
at com.sun.jna.Structure.calculateSize(Structure.java:790)
at com.sun.jna.Structure.allocateMemory(Structure.java:287)
at com.sun.jna.Structure.<init>(Structure.java:177)
at com.sun.jna.Structure.<init>(Structure.java:167)
at com.sun.jna.Structure.<init>(Structure.java:163)
at com.sun.jna.Structure.<init>(Structure.java:154)
at anotherReversed.x264_param_t.<init>(x264_param_t.java:7)
하는 경우를 나는 부모 클래스 생성자에서 Vui를 주석 처리한다. 인스턴스화는 괜찮다. 같은 방식으로 중첩 된 2 개의 다른 (즉, Rc와 Analyze)가 있기 때문에 정확히이 중첩 된 구조와 어떤 점이 다른지 궁금합니다. 아무튼, JNA는 Vui에 필요한 크기를 찾을 수 없습니다. 어떤 포인터?
편집 : 다른 모든 중첩 구조체 (analyze 및 rc)도 초기화되지 않은 것 같습니다. 왜 그런지 궁금해?
왜 JNI를 고려하지 않습니까? 내 가이드 [여기] (http://livertmpjavapublisher.blogspot.com/2014/05/jni-for-x264-encoder.html)를 검토 할 수 있습니다. –