我正在尝试使用CardScan SDK中的Java示例数据库程序。JNI UnsatisfiedLinkError-如何正确加载库?
我正在使用位于Java/JNI和Java /数据库中的文件。该程序必须使用32位JRE运行。我可以在64位机器上卸载Java并安装32位版本,然后重新添加Java系统路径。我可以通过双击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的所有原生函数的工作顺序)?
那么,库中有什么非绑定符号? – 2012-08-12 18:02:11
@DonalFellows以下是我认为不受限制的所有内容: http://pastebin.com/5vsxty5e – blastb 2012-08-12 18:18:22
您不会将DLL放入java.library.path中。你把包含DLL的目录。 – bmargulies 2012-08-12 20:34:21