先日Windows 7 64ビット環境でLucene.Netを使ってみましたが、一つ問題があります。Windows版MeCabが32bitのため、Lucene.Netも32bitアプリケーションとして動くことになってしまいます。
ここを参考に64bit版のMeCabをコンパイルしました。
■下記パッケージをインストール
Microsoft Visual Studio 2010
■下記パッケージをダウンロードする
MeCab 0.98 ソースコード
■src/Makefile.msvc.inをsrc/Makefileに名前変更して、下記修正を行う
「/MACHINE:X86」を「/MACHINE:X64」に変更
「@DIC_VERSION@」を「102」に変更
「@VERSION@」を「0.98」に変更
■src/common.hに下記インクルードファイル追加
#include <iterator>
■feature_index.cppに下記修正を行う
変更前:case 't': os_ << (size_t)path->rnode->char_type; break;
変更後:case 't': os_ << (unsigned int)path->rnode->char_type; break;
変更前:case 'L': *os << std::strlen(sentence); break;
変更後:case 'L': *os << (unsigned int)std::strlen(sentence); break;
■mecab.hに下記修正を行う(Windowsインストーラーについてる32bit版DLLと同じシンボルにしたい場合は変更不要)
「#ifndef SIWG」を「#ifndef SWIG」に変更
■Visual Studio x64のコマンドプロンプトを起動
■srcフォルダに移動して、make.batを実行
■MeCabSharpからの利用方法
MeCabSharpを利用する場合はコンパイル必要があります、詳細はこちら
■MeCabDotNetからの利用方法
詳細はこちら
以上
0 件のコメント:
コメントを投稿