MinGW + MSYS 環境で MeCab (Perl モジュールも含め)をビルドする
ExtUtils::FakeConfig までは Kakasi と共通。
- MeCab のインストール
http://mecab.sourceforge.net/ からダウンロードする。
MeCab 自体は ./configure、make、make install で何事もなくインストールすることができるのだが、このままだと Perl モジュールのビルドに失敗してしまうため、MinGw における MeCab のシェアードライブラリの問題: ナマズのブログを参考に mecab.h を修正する。具体的には、(MeCab 0.96 では)119 行目あたりにある条件式を書き換える。
あとは、
./configure
make
make install
で完了。
- 辞書のインストール
辞書は簡単。
./configure
make
make install
だけ。
Makefile.PL 内で mecab-config を呼ぶようになっているが、どうも Perl からは呼び出せずエラーになってしまうようなので、MSYS 上で mecab-config --cxx などを実行してその結果を貼付けてしまう。が、ここでも /usr/local/include などのファイルをなぜか見つけてくれないので、実行結果を貼付けつつ内容を修正する。具体的には
use ExtUtils::MakeMaker;
WriteMakefile(
'NAME' => 'MeCab',
'CC' => 'g++',
'LD' => 'g++',
'INC' => '-Ie:\msys\1.0\local\include',
'LIBS' => '-Le:\msys\1.0\local\lib -lmecab',
'VERSION' => '0.96',
'OBJECT' => 'MeCab_wrap.o'
);
こんな感じになる。あとは、
でビルド完了。