MeCabのPythonバインディングをWindowsでビルド

MeCabのPythonバインディングをVisual Studio 2005でビルドしようと思ったら、リンクでこける。よくよくエラーメッセージとヘッダを見比べてみたら、mecab.hの誤りを発見。

以下の二点を修正の上、SWIGでMeCab_wrap.cxxを作り直せば、問題なくビルド可能。

  • #ifdef SIWG を #ifdef SWIGに修正。
  • Mecab::version()を#ifdef SWIGで囲む。

VS2005でsetup.pyを起動すると、VS2003でコンパイルしろと文句を言われるが、たかがC++のDLL一つをリンクするために、VS2005からVS2003にダウングレードなどするはずも無く、さっくり手動でコンパイル。

cl /EHsc /LD /I “c:\Program Files\MeCab\sdk” /I “C:\Python25\include”
mecab_wrap.cxx “c:\Program Files\MeCab\sdk\libmecab.lib”
“C:\Python25\libs\python25.lib”

とかなんとか適当に。

せっかくなので、MeCab 0.95 & Python 2.5用のバイナリをおいておく。

mecab095-python25-binding.zip

ちなみに、MeCab本体をWindowsでコンパイルするには、まずCygwinかLinux上でconfigureし、その後ソースコードをWindows上にコピーした上でmake.batを実行する必要がある。Linux上でconfigureする場合は、—host=i586-mingw32msvcを忘れずに。


| | 2007-05-28 09:50

Comment

Commenting is closed for this article.