我使用AspriseOCR制作了一个Java OCR程序。 它需要一个名为AspriseOCR.dll的.dll,我将dll复制到C:/ Windows / System32 / 但是当我使用
时System.load("C:/Windows/System32/AspriseOCR.dll");
我仍然得到一个UnsatisfiedLinkError。
我花了最近两天的时间来寻找解决问题的方法,但我找不到任何有效的方法。
好的大家,现在有效。事实证明我还必须制作一个32位版本! 如果有人从Asprise那里需要OCR引擎的帮助,那么下午我会尽力帮助你!
答案 0 :(得分:4)
要加载DLL等库,您应该使用
System.loadLibrary("libname");
"libname"
是库的名称。您不包括存储文件的扩展名,也不包括文件的完整路径。对于您的情况,您可能会致电
System.loadLibrary("AspriseOCR");
加载您正在使用的库。
因为loadLibrary
为参数而不是文件获取库名,所以在放置.dll的位置必须小心。通常,您可以将其包含在应用程序的工作目录中,或者包含在System32等本机文件夹中。如果您必须将其放在其他位置,请务必正确设置java.libary.path
。例如,如果.dll位于文件夹“libraries”中,则应使用参数
-Djava.library.path=libraries