2011年8月26日

MeCabSharpをコンパイルする

前回MeCabSharpの動作を確認する際、Visual Studioからの実行結果でした。先日アプリケーションをビルドして、.exeを直接実行したら、Exceptionエラーが発生しました。どうもMeCabSharpはMeCab 0.97ベースでコンパイルされたもの、利用するMeCabは0.98。その問題を解決するために、MeCabSharpをMeCab 0.98ベースでコンパイルする必要があります

ここを参考コンパイルしました
■下記パッケージをインストール
 MeCab 0.98
 Microsoft Visual Studio 2010

■下記パッケージをダウンロードする
 MeCab 0.98 ソースコード
 SWIG
 MeCabSharp

■SWIGを解凍
  image

■MeCab 0.98のソースコードを解凍
  image

■MeCab 0.98ソースコードのディレクトリにswigフォルダを作成し
  image

■MeCabSharpにあるmake.bat、MeCab.i、version.hをswigフォルダにコピー
  image

■ご自身の環境に合わせて、make.batの下記項目を編集
  set swig=D:\OPT2\swigwin-2.0.4\swig.exe
  set sdk=C:\Program Files (x86)\MeCab\sdk

  MeCabをソースコードからビルドした場合
  set sdk=D:\OPT2\MECAB\mecab-0.98\src

make.batのplatformをx86からanycpuに変更
  変更前:/platform:x86
  変更後:/platform:anycpu

Visual Studioコマンドプロンプトを起動
 MeCab 64bit版用MeCabSharpをビルドする場合はx64コマンドプロンプトを起動
  image

■make.bat mecabcxxを実行
  image

■MeCab_wrap.cxxを変更
 「Tagger::create」を「createTagger」に置き換え
 「MeCab::Tagger::version」を「mecab_version」に置き換え

■make.bat mecabdllを実行

■make.bat mecabsharpを実行

■MeCab.dll及びMeCabSharp.dllを確認できます
  image

■.NETからの利用
 MeCab.dllをMeCabのbinフォルダにコピー
 MeCabのbinを環境変数PATHに追加
 MeCabSharp.dllをプロジェクトの参照に追加
 詳細の利用方法はこちらを参考

以上

0 件のコメント:

コメントを投稿