2011年9月12日

Windows 64bit版MeCabをビルド

先日Windows 7 64ビット環境でLucene.Netを使ってみましたが、一つ問題があります。Windows版MeCabが32bitのため、Lucene.Netも32bitアプリケーションとして動くことになってしまいます。
ここを参考に64bit版のMeCabをコンパイルしました。

■下記パッケージをインストール
 Microsoft Visual Studio 2010

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

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

■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;

■write.cppに下記修正を行う
 変更前: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のコマンドプロンプトを起動
 image

■srcフォルダに移動して、make.batを実行
 image

■MeCabSharpからの利用方法
 MeCabSharpを利用する場合はコンパイル必要があります、詳細はこちら

■MeCabDotNetからの利用方法
 詳細はこちら

以上

0 件のコメント:

コメントを投稿