環境は、Windows 8.1 x64, Visual C++ 2010 Express
mecab0.996
インストール
Windows Software Development Kit (SDK) for Windows 8.1 をインストール
http://msdn.microsoft.com/en-US/windows/desktop/bg162891
mecabソースをダウンロード
https://mecab.googlecode.com/files/mecab-java-0.996.tar.gz
https://mecab.googlecode.com/files/mecab-0.996.tar.gz
libmecabビルド
Configure
Configureする必要がるのか?取り敢えず、MsysでConfigureする
cd mecab-0.996
./configure
make.bat修正
mecab-0.996/src/make.bat のパスを環境に合わせて修正
私の環境では次のように、上三行を変更
Set PATH=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;%PATH%
Set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;%INCLUDE%
Set LIB=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib;%LIB%
libmecab.dllを作成
mecab-0.996/src/make.batを実行mecab-0.996にlibmecab.dllができる
Javaバインディング
用意されてるバインディング(MeCab_wrap.cxx)だと動かないので
自分で作成する
mecab-0.996/src/mecab.h を修正する
「#ifndef SIWG」を「#ifndef SWIG」に全部修正(何か所かある)swigを実行する
cd mecab-0.996\swigswig -java -package org.chasen.mecab -c++ MeCab.i
MeCab_wrap.cxxが生成される
swigがない場合はここから、パスを通しても完全パス指定でもOK
MeCab_wrap.dllを作成
mecab-java-0.997に作成したlibmecab.dllとMeCab_wrap.cxxをコピー
下のようなコマンドを実行する。パスは環境に合わせて変更
Set PATH=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;%PATH%
Set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;%INCLUDE%
Set LIB=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib;%LIB%
cl /EHsc /LD /I mecab-0.996\src /I "C:\Program Files (x86)\Java\jdk1.7.0_09\include" /I "C:\Program Files (x86)\Java\jdk1.7.0_09\include\win32" MeCab_wrap.cxx libmecab.dll
動作確認
libmecab.dllとMeCab_wrap.dllをコピーして 適当なサンプルを実行
参考サイト:
http://ftablog.s56.xrea.com/index.php?itemid=167
内容はほぼ同じ(Windows7,mecab0.97)
0 件のコメント:
コメントを投稿