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用のバイナリをおいておく。
ちなみに、MeCab本体をWindowsでコンパイルするには、まずCygwinかLinux上でconfigureし、その後ソースコードをWindows上にコピーした上でmake.batを実行する必要がある。Linux上でconfigureする場合は、—host=i586-mingw32msvcを忘れずに。
| | 2007-05-28 09:50