12

Tess4J を実行しようとすると、実行時に次のエラーが発生します。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libtesseract302': Native library (win32-x86-64/libtesseract302.dll) not found in resource path ([myproject/target/classes/, ...some jars...])

私の質問は次のとおりです。

1) 正確には何をどこで見つけようとしているのか?

myproject/target/classes/2)ディレクトリを検索しているように見えるのはなぜですか? 私はそれをどこにも設定しませんでした。

tess4j.jar3) Eclipse のユーザー ライブラリ記述子で設定した「ネイティブ ディレクトリ パス」が無視されるのはなぜですか? 私のDLLはそこにあります。パスを無視しなければ、DLL が検出されます。

4) どうやら DLL 名の先頭にwin32-x86-64/. 私はこれをどこにも設定しませんでした。これは一部の API の標準プレフィックスですか?

5) 「リソースパス」とは?設定方法は?

4

7 に答える 7

1

数日前、JNA を使用して C++ DLL をロードしようとすると、同じエラー メッセージが表示されました。原因は、DLL が依存している DLL の欠落であることが判明しました。

私の場合、MS Visual Studio 2012 再頒布可能パッケージをダウンロードしてマシンにインストールしたところ、問題は解決しました。Dependency Walkerを使用して、不足しているライブラリを見つけてインストールしてみてください。

于 2017-07-07T06:40:40.913 に答える