VS 2013コンパイルTesseract 3.04手順詳細
8677 ワード
最近Tesseract-ocrの勉強を始めました.GoogleはGitHubでTesseractのソースコードと既存の言語トレーニングパッケージを提供しています.しかし、最新バージョンのTesseract 4.0ではVS 2015以降のサポートが必要であり、提供される言語トレーニングパッケージでは4.00と3.04の2つのバージョンのTesseractのみがサポートされています.仕事のため、VS 2015をインストールできないので、公式に提供されたトレーニングパッケージを直接使用できるように、VS 2013でTesseract 3.04バージョンをコンパイルすることを選びました.しかし、物語はこんなに簡単ではない.このインストールとコンパイルの過程で私は多くの穴を踏んで、一日中振り回してやっとコンパイルに成功しました.これは私が初めて簡書文を書いたのですが、実は私はこれまで博文を書いた経験がありませんので、この文には多くの問題と不足があるかもしれません.実はこれは私がMarkdownを練習するための文章です.第一歩:Git をインストールする
この一歩はもう言わない.最も簡単な方法は、ソフトウェアの執事を開いてGitを検索し、インストールすればいいです.ステップ2:ソースファイル依存ファイル を取得する
ソースファイルを直接ダウンロードしてコンパイルしないのはなぜですか?もちろんコンパイルができないからだよね!これは私が踏んだ最初の穴です.面倒を避けるために、依存ファイルを直接ダウンロードします.依存ファイルのGitHubアドレスはこちらです.ここでは手動でダウンロードすることができますが、Gitを使用している以上、Gitでダウンロードしましょう.まず、ファイルを保存するために目的の場所に新しいディレクトリを作成します.私が選んだ場所はF:tesseract-buildです.次にコマンドラインを開き、tesseract-buildフォルダに切り替えて、次のコマンドを実行します.
cloneが完了するとtesseract-buildに
この問題はVS 2013の互換性によるものである.解決方法:ソリューションエクスプローラの
次にコンパイルすると、新しいエラーが発生しました.
これはファイルコードのせいです.解決策:
コンパイルを続行すると、次のエラーが発生しました.
および
解決策:問題のある行にジャンプし、宣言変数のタイプを
慌てないで.ここまで来て、あなたとこの工事の戦いはもう終わりました.「OK」をクリックして、プロジェクトをオフにし、後続のステップに進むことができます.次に、VS 2013インストールディレクトリを見つけて、次のフォルダに入ります.
コンパイルプロセスが開始されます.2~3分のコンパイル後、このヒントが表示されます.
君が成功したことを示している.コマンドラインを消してtesseract-buildtesseract-vs 2012ディレクトリに入り、注意を払うとreleaseフォルダが1つ増えていることに気づきます.
この場合、tesseract-buildディレクトリには次のものがあります.第3歩はソースコードをダウンロードして、パッチを打って、ソースコード をコンパイルします
長い間苦労して、やっとソースのダウンロードを始めました.git倉庫を使う必要があるので、手動でダウンロードする必要はありません.コマンドラインを開き、tesseract-buildフォルダに切り替え、次のコマンドを入力します.
クローンが完了すると、tesseract-buildフォルダの下にtesseractフォルダが追加されます.これはTesseactのソースコードです.しかし、実際にはTesseract 4.0のソースコードをクローン化していますが、3.04が必要なので、checkoutコマンドでバージョン切り替えを行う必要があります.tesseractフォルダを右クリックしgit bashを実行します.ポップアップgitコマンドラインに次のように入力します.
その後、tesseractフォルダの内容が以前とは異なり、バージョンを3.04に切り替えてコマンドラインに入力し続けたことを示します.
この言葉はtesseract-buildディレクトリの下のvs 2013+64 bit_support.patchパッチはtesseractエンジニアリングに適用されます.しかし、この時あなたはまた間違っていることに気づきます.
gitはあなたが誰なのか知る必要があります.この問題を解決するには、
ここにGitHubメールボックスとユーザー名を書いてください.むやみに記入しないように注意してください.記入して保存し、前のコマンドをもう一度実行すれば、パッチがスムーズに適用されます.ここまで来たら、あなたは成功に近づいています.tesseractフォルダを開くと、前よりvs 2013フォルダが1つ増えます.フォルダに入り、
解決策:
に改心
再コンパイル.コンパイルが完了すると、次のプロンプトが表示されます.
この
これで、コンパイルプロセス全体が終了します.簡単なコンパイルにこんなに時間がかかりました.私のTesseractの勉強の道はまだ長いです.
著者:ZYCoderr
リンク:http://www.jianshu.com/p/44c2946837b9
出典:簡書
著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.
この一歩はもう言わない.最も簡単な方法は、ソフトウェアの執事を開いてGitを検索し、インストールすればいいです.
ソースファイルを直接ダウンロードしてコンパイルしないのはなぜですか?もちろんコンパイルができないからだよね!これは私が踏んだ最初の穴です.面倒を避けるために、依存ファイルを直接ダウンロードします.依存ファイルのGitHubアドレスはこちらです.ここでは手動でダウンロードすることができますが、Gitを使用している以上、Gitでダウンロードしましょう.まず、ファイルを保存するために目的の場所に新しいディレクトリを作成します.私が選んだ場所はF:tesseract-buildです.次にコマンドラインを開き、tesseract-buildフォルダに切り替えて、次のコマンドを実行します.
git clone https://github.com/charlesw/tesseract-vs2012.git
cloneが完了するとtesseract-buildに
tesseract-vs2012
というフォルダが表示されます.フォルダに入り、tesseract.sln
のプロジェクトファイルを開き、コンパイルして実行......焦らないで、まず深く息を吸ってください.次は一連の問題に直面する可能性がありますから.大丈夫です.一つ一つリストして解決策を出します.まず、このエラーを見ることができます.この問題はVS 2013の互換性によるものである.解決方法:ソリューションエクスプローラの
liblept-171
を右クリックし、次のように設定します. 1. “C/C++” --> " ” -->” ” “C7 (/Z7)”`
2. “C/C++” --> " ” -->” ” “ (/GF)”`
3. “ ” --> " ” -->” ” “ (/DEBUG)”`
次にコンパイルすると、新しいエラーが発生しました.
これはファイルコードのせいです.解決策:
1. “ ” --> “ ”
2. `Unicode(UTF-8 ) - 65001` ( : )
コンパイルを続行すると、次のエラーが発生しました.
および
解決策:問題のある行にジャンプし、宣言変数のタイプを
l_unit32
からint
に変更してコンパイルを続行します.エラーは報告されていませんが、この警告ボックスがポップアップされました.慌てないで.ここまで来て、あなたとこの工事の戦いはもう終わりました.「OK」をクリックして、プロジェクトをオフにし、後続のステップに進むことができます.次に、VS 2013インストールディレクトリを見つけて、次のフォルダに入ります.
VS2013
を開き、tesseract-vs2012
があるフォルダに切り替え、次のコマンドを実行します.msbuild build.proj
コンパイルプロセスが開始されます.2~3分のコンパイル後、このヒントが表示されます.
君が成功したことを示している.コマンドラインを消してtesseract-buildtesseract-vs 2012ディレクトリに入り、注意を払うとreleaseフォルダが1つ増えていることに気づきます.
include
とlib
の2つのフォルダが入っています.私たちがこんなに長い間苦労したのは、それらのためです.次に、 1. tesseract-build\tesseract-vs2012, vs2013+64bit_support.patch tesseract-build
2. tesseract-build\tesseract-vs2012\release, include lib tesseract-build
3. tesseract-build\lib\Win32 tesseract-build\lib
この場合、tesseract-buildディレクトリには次のものがあります.
長い間苦労して、やっとソースのダウンロードを始めました.git倉庫を使う必要があるので、手動でダウンロードする必要はありません.コマンドラインを開き、tesseract-buildフォルダに切り替え、次のコマンドを入力します.
git clone https://github.com/tesseract-ocr/tesseract.git
クローンが完了すると、tesseract-buildフォルダの下にtesseractフォルダが追加されます.これはTesseactのソースコードです.しかし、実際にはTesseract 4.0のソースコードをクローン化していますが、3.04が必要なので、checkoutコマンドでバージョン切り替えを行う必要があります.tesseractフォルダを右クリックしgit bashを実行します.ポップアップgitコマンドラインに次のように入力します.
git checkout -b 3.04-vs2013 3.04.00
その後、tesseractフォルダの内容が以前とは異なり、バージョンを3.04に切り替えてコマンドラインに入力し続けたことを示します.
git am --signoff < ../vs2013+64bit_support.patch
この言葉はtesseract-buildディレクトリの下のvs 2013+64 bit_support.patchパッチはtesseractエンジニアリングに適用されます.しかし、この時あなたはまた間違っていることに気づきます.
gitはあなたが誰なのか知る必要があります.この問題を解決するには、
tesseract\git
フォルダ(このフォルダはデフォルトでは非表示なので、先に非表示ファイルを表示する必要があるかもしれません)に入り、config
ファイルを修正し、一番下にこれらの内容を書く必要があります.[user]
email = [email protected]
name = xxx
ここにGitHubメールボックスとユーザー名を書いてください.むやみに記入しないように注意してください.記入して保存し、前のコマンドをもう一度実行すれば、パッチがスムーズに適用されます.ここまで来たら、あなたは成功に近づいています.tesseractフォルダを開くと、前よりvs 2013フォルダが1つ増えます.フォルダに入り、
tesseract.sln
プロジェクトファイルを開きます.入ってから焦らないでtesseractを起動項目に設定してコンパイルします.コンパイルプロセスで次の警告が表示された場合:解決策:
tesseract
のequationdetect.cpp
ファイルを見つけて、コードの中の:static const STRING kCharsToEx[] = {"'", "`", "\"", "\\", ",", ".",
"〈", "〉", "《", "》", "」", "「", ""};
に改心
static const STRING kCharsToEx[] = { "'", "`", "\"", "\\", ",", ".",
", ">", "<, ">>", "" };
再コンパイル.コンパイルが完了すると、次のプロンプトが表示されます.
この
liblept171d.dll
はどこですか?tesseract-build\lib
フォルダにあります.プロジェクトがこのファイルを見つけるためにtesseract-buildlibを環境変数PATHに追加しました.再コンパイルに成功しました.そしてデバッガをDLL_に切り替えますRelease、再コンパイル、依然として成功!tesseract-build\tesseract\vs2013\bin\Win32\DLL_Debug
とtesseract-build\tesseract\vs2013\bin\Win32\DLL_Release
の2つのフォルダで、対応するexeファイルをそれぞれ見つけることができます.これらは私たちのTesseract実行ファイルです.つまり、ついにソースコードのコンパイルに成功しました!これで、コンパイルプロセス全体が終了します.簡単なコンパイルにこんなに時間がかかりました.私のTesseractの勉強の道はまだ長いです.
著者:ZYCoderr
リンク:http://www.jianshu.com/p/44c2946837b9
出典:簡書
著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.