2

WindowsMo​​bile6プロジェクトにtessnet2ライブラリを使用することにしました。残念ながら、コンパイルしようとするとエラーが発生します。

  1. 'tessnet2.Tesseract.GetThresholdedImage(System.Drawing.Bitmap、System.Drawing.Rectangle)'に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります

  2. タイプ'System.Drawing.Rectangle'は、参照されていないアセンブリで定義されています。アセンブリへの参照を追加する必要があります'System.Drawing、Version = 2.0.0.0、Culture = neutral、PublicKeyToken =b03f5f7f11d50a3a'

はい知っています。アセンブリへの参照を追加します。問題は、私がやったことです。ソリューションエクスプローラー(System.Drawing)で「参照の追加」によって参照を追加し、「System.Drawingを使用して」と宣言することもできます。

Intellisense works without any problem. When i write 'rect' it automaticlly shows me the list with 'Rectangle' structure on top.

What is the problem? The assembly is added, even intellisense sees it, why doesn't the compiler?

4

2 に答える 2

3

これだけ見ても、Compact Framework でこれが機能するわけがありません。最初にサイトから明示的に言う

Tessnet2.dll には Visual C++ 2008 ランタイムが必要です

つまり、デスクトップ用に構築されたということです。多くの理由で Wi​​nMo デバイスでは動作しませんが、適切なプロセッサと適切なランタイムを使用するように再コンパイルする必要があると言えば十分です。インラインアセンブラのようなものを使用すると、移植が非常に困難になります。

tessract ライブラリをビルドしても、tessnet2 マネージ ライブラリを使用することはできません。

これは Visual Studio 2008 C++/CLI プロジェクトです

これは、マネージド C++ プロジェクトであることを意味します。マネージ C++ は、COmpact フレームワークではサポートされていません。したがって、それを C# に移植するか、tessract ライブラリ関数を呼び出す別の P/Invoke ラッパーを作成する必要があります。

于 2010-01-29T18:38:00.033 に答える
1

コンパクト フレームワークと標準フレームワークは、同様の API を公開する 2 つの異なるコード ベースです。それが、インテリセンスが「機能した」のにコンパイラが「不平を言った」理由です。

サードパーティの OCR フレームワークは、CompactFramework を参照する必要があります。Tessnet2 のソースをダウンロードします。参照されているフレームワーク アセンブリをコンパクトなフレームワーク アセンブリに置き換えます。それらを参照して、「C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE」で見つける必要があります。

于 2010-01-29T15:15:30.067 に答える