MeCab on Cygwin

MeCabCygwinで使おうとすると、例によってそのままではコンパイル通らず。./configure --enable-shared=noとしてshared libraryを作らなければ良いんだけど、これだとruby bindingが使えない。
ということで無理やりなんとかしてみた。autoconfとかよくわかってないのでもっと良いやり方あると思うけど、とりあえずこれで動きます。

  • mecab-0.76を展開
  • aclocal、automake --add-missing、autoconfする
  • libtoolize --force、automake、autoconfする(この辺よくわかってないのばればれですな)
  • configure.inでAC_CYGWINコメントアウトされているのを外す
  • Makefile.inのLDFLAGSに-no-undefinedを付け加える

以上でDLLをちゃんと作ってくれます。
それと、ruby bindingもCygwinだと素直に動かない。ruby extconf.rbしてMakefileを生成したあと、LIBSの行の最後に-L/usr/local/lib -lmecabを付け加えてやるとうまくいきます。