在我的64位Mac OSX上尝试使用java项目中的本机C ++库,正如此链接中所述:
https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
但是当我运行示例时,我得到了这个错误,没有加载库liblept.4.dylib,我不知道该怎么做。
java.lang.UnsatisfiedLinkError: no jnilept in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)
Caused by:java.lang.UnsatisfiedLinkError:/private/var/folders/h8/wpw5p9196v1dz0hcy_s66_5w0000gn/T/javacpp21146551279247/libjnilept.dylib: dlopen(/private/var/folders/h8/wpw5p9196v1dz0hcy_s66_5w0000gn/T/javacpp21146551279247/libjnilept.dylib, 1): Library not loaded: /Users/saudet/projects/bytedeco/javacpp-presets/leptonica/cppbuild/macosx-x86_64/lib/liblept.4.dylib
Referenced from: /private/var/folders/h8/wpw5p9196v1dz0hcy_s66_5w0000gn/T/javacpp21146551279247/libjnilept.dylib
更新:我试图通过mac端口安装tesseract和leptonica库,这个错误已经消失,但是出现了一个新错误" java无法编写核心转储,有问题的框架leptonica..etc"
所以我删除了所有已安装的库,并再次返回同样的错误
答案 0 :(得分:4)
这是一个已修复的问题:
https://github.com/bytedeco/javacpp-presets/issues/46
虽然尚未发布,但从源代码编译起来很容易。首先,从GitHub获取JavaCPP和JavaCPP预设的最新源代码,然后在subprocess
下运行mvn install
,然后在javacpp
下执行javacpp-presets
,然后再调用{ {1}}。