无法加载与System.load(路径)一个.dll;(Can't load a .dll

2019-09-22 06:21发布

我做了使用AspriseOCR一个Java OCR程序。 它需要一个叫做AspriseOCR.dll .dll文件,我复制的DLL到C:/在Windows / System32下/但是当我使用

System.load("C:/Windows/System32/AspriseOCR.dll");  

我仍然获得了UnsatisfiedLinkError。

我花了最后2天寻找一个解决我的问题,但我无法找到任何工作。


好了大家,现在它工作。 原来我也不得不做出一个32位版本! 如果有谁需要从Asprise OCR引擎的帮助下,下午,我会尽力帮助你!

Answer 1:

加载库,如DLL,你应该使用

    System.loadLibrary("libname");

"libname"是库的名称 。 你不包括它存储在文件的扩展名,或完整的文件路径。 对于你的情况,你可能会调用

    System.loadLibrary("AspriseOCR");

加载您使用的库。

因为loadLibrary需要一个库名参数,而不是一个文件,其中您将.dll文件,你一定要小心。 通常情况下,你可以将它包括应用程序的工作目录,或在本地文件夹,例如System32中。 如果你必须把它放在别的地方,一定要正确设置java.libary.path 。 例如,如果.dll文件所在的文件夹“库”,你应该启动Java的说法

    -Djava.library.path=libraries


文章来源: Can't load a .dll with System.load(path);
标签: java dll