前回MeCabSharpの動作を確認する際、Visual Studioからの実行結果でした。先日アプリケーションをビルドして、.exeを直接実行したら、Exceptionエラーが発生しました。どうもMeCabSharpはMeCab 0.97ベースでコンパイルされたもの、利用するMeCabは0.98。その問題を解決するために、MeCabSharpをMeCab 0.98ベースでコンパイルする必要があります
ここを参考コンパイルしました
MeCabをソースコードからビルドした場合
■下記パッケージをインストール
MeCab 0.98
Microsoft Visual Studio 2010
■下記パッケージをダウンロードする
MeCab 0.98 ソースコード
SWIG
MeCabSharp
■SWIGを解凍
■MeCab 0.98のソースコードを解凍
■MeCab 0.98ソースコードのディレクトリにswigフォルダを作成し
■MeCabSharpにあるmake.bat、MeCab.i、version.hをswigフォルダにコピー
■ご自身の環境に合わせて、make.batの下記項目を編集
set swig=D:\OPT2\swigwin-2.0.4\swig.exe
set sdk=C:\Program Files (x86)\MeCab\sdk
set sdk=D:\OPT2\MECAB\mecab-0.98\src
■make.batのplatformをx86からanycpuに変更
変更前:/platform:x86
変更後:/platform:anycpu
■Visual Studioコマンドプロンプトを起動
MeCab 64bit版用MeCabSharpをビルドする場合はx64コマンドプロンプトを起動
■make.bat mecabcxxを実行
■MeCab_wrap.cxxを変更
「Tagger::create」を「createTagger」に置き換え
「MeCab::Tagger::version」を「mecab_version」に置き換え
■make.bat mecabdllを実行
■make.bat mecabsharpを実行
■MeCab.dll及びMeCabSharp.dllを確認できます
■.NETからの利用
MeCab.dllをMeCabのbinフォルダにコピー
MeCabのbinを環境変数PATHに追加
MeCabSharp.dllをプロジェクトの参照に追加
詳細の利用方法はこちらを参考
以上
0 件のコメント:
コメントを投稿