저는 CardScan SDK의 Java 샘플 데이터베이스 프로그램을 사용하려고합니다.JNI UnsatisfiedLinkError- 라이브러리를 올바르게로드하려면 어떻게해야합니까?
Java/JNI 및 Java/Database에있는 파일로 작업하고 있습니다. 프로그램은 32 비트 JRE로 실행해야합니다. Java를 제거하고 32 비트 버전을 설치 한 다음 Java 용 시스템 경로를 다시 추가하여 64 비트 시스템에서이를 수행 할 수있었습니다. SDKData.bat 파일을 두 번 클릭하면 성공적으로 CardScan 데이터베이스 파일 (.cdb)로 프로그램과 인터페이스를 실행할 수 있지만 Java.library.path를 편집 및 편집 할 소스 파일을 열면 필요한 라이브러리 (CRTK_JNI .DLL), 나는 사방 UnsatisfiedLinkErrors를 얻을 : 라이브러리가 제대로로드되지 않기 때문에
Exception in thread "main" java.lang.UnsatisfiedLinkError: sdkdata.CRTK.CRTK_Init([I)I
at sdkdata.CRTK.CRTK_Init(Native Method)
at sdkdata.CRTK.(CRTK.java:239)
at sdkdata.SDKData.(SDKData.java:97)
at sdkdata.SDKData.main(SDKData.java:643)
Java Result: 1
은 아마도이 일어나고있다.
CRTK_JNI의 모든 원시 기능을 정상적으로 실행하고 전체 용량으로 프로그램을 실행하고 편집하려면 무엇을해야합니까?
그래서 라이브러리에는 언 바운드 심볼이 있습니까? –
@DonalFellows 여기에 언 바운드라고 생각되는 모든 것이 있습니다 : http://pastebin.com/5vsxty5e – blastb
당신은 java.library.path에 DLL을 넣지 않습니다. DLL이 들어있는 디렉토리를 넣습니다. – bmargulies