MeCab をソースコードからビルドしてインストール(形態素解析)(Windows 上)(書きかけ)
辞書の設定と,動作確認が終わっていません前準備
7-Zip のインストール
Build Tools for Visual Studio 2022 のインストール(Windows 上)
Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。
以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"
REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --id Microsoft.VisualStudio.2022.BuildTools --accept-source-agreements --accept-package-agreements ^
--override "--passive --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.ClangCL --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
--add で追加されるコンポーネント
上記のコマンドでは,まず Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし,次に setup.exe を用いて以下のコンポーネントを追加している。
VCTools:C++ デスクトップ開発ワークロード(--includeRecommendedにより、MSVC コンパイラ、C++ AddressSanitizer、vcpkg、CMake ツール、Windows 11 SDK 等の推奨コンポーネントが含まれる)VC.Llvm.Clang:Windows 向け C++ Clang コンパイラClangCL:clang-cl ツールセットを含むコンポーネントグループ(MSBuild から Clang を使用するために必要)VC.CMake.Project:Windows 向け C++ CMake ツールWindows11SDK.26100:Windows 11 SDK(ビルド 10.0.26100)
インストール完了の確認
winget list Microsoft.VisualStudio.2022.BuildTools
上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。
Visual Studio の機能を必要とする場合は、追加インストールできる。
MeCab Windows 版のインストール
- MeCab のWebページを開く
- ソースコード mecab-0.996.tar.gz と IPA 辞書をダウンロード
- ダウンロードした mecab-0.996.tar.gz ファイルを展開(解凍)する.分かりやすいディレクトリに置く.
c:\tools\mecab-0.996 下に展開(解凍)したものとして説明を続ける
- src\Makefile.msvc.in の書き換えを行う
- 64 ビット版に設定するため.6行目
変更前
LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X86 ADVAPI32.LIB変更後
LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB
- 64 ビット版に設定するため.6行目
- DIC_VERSION を指定する
Windows でコンパイルしたときのエラーの回避のため. 8行目
変更前
-DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=@DIC_VERSION@変更後
-DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=270 - ソースコードの書き換えを行う.
- src\feature_index.cpp 356 行目
変更前
case 't': os_ << (size_t)path->rnode->char_type; break;変更後
case 't': os_ << (unsigned int)path->rnode->char_type; break;
- src\writer.cpp 260 行目
変更前
case 'L': *os << lattice->size(); break;変更後
case 'L': *os << (unsigned int)lattice->size(); break;
- src\feature_index.cpp 356 行目
- mecab.h の書き換え
mecab.h の 785 行目に,次の1行を挿入
virtual void set_result(const char *s) = 0;
- ビルド
cd c:\tools\mecab-0.996 cd src name -f Makefile.msvc.in - ビルドの終了の確認
エラーメッセージが出ていないこと.
- Windows の環境変数 PATH に次を追加
C:\Program Files (x86)\Mecab\bin - Windows の環境変数 MECABRC に次を設定
C:\Program Files (x86)\Mecab\etc\mecabrc
Pythonのmecab-pythonライブラリのインストール
- MeCab のWebページを開く
- 「perl/ruby/python/java バインデング」の下の「ダウンロード」をクリック.
- mecab-python-0.996.tar.gz をダウンロード(現時点での最新バージョン)
- ダウンロードが始まる.
- ダウンロードした mecab-python-0.996.tar.gz ファイルを展開(解凍)する.分かりやすいディレクトリに置く.
c:\tools\mecab-python-0.996 下に展開(解凍)したものとして説明を続ける
- c:\tools\mecab-0.996\src にある
mecab.h、libmecab.lib を
c:\tools\mecab-python-0.996 にコピー.
- c:\tools\mecab-python-0.996\setup.py を編集
version = "0.996",include_dirs=["C:\\tools\\mecab-0.996\\src"], library_dirs=["C:\\tools\\mecab-0.996\\src"], libraries=["libmecab"])
*この書き換えを行う理由:「'mecab-config' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」と表示されるエラーの回避のため.
- 以下のコマンドを管理者権限のx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する
(手順:スタートメニュー →Visual Studio 20xx」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」 → 「管理者として実行」)。
「x64 Native Tools コマンドプロンプト」がないときは,ビルドツール (Build Tools) をインストールすると,x64 Native Tools コマンドプロンプトもインストールされる.その手順は,別ページ »で説明している.
cd c:\tools\mecab-python-0.996 python setup.py build
- エラーメッセージが出ないことを確認
- 以下のコマンドをx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する
(手順:スタートメニュー →Visual Studio 20xx」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」 を選ぶ)。
python setup.py install
- エラーメッセージが出ないことを確認
辞書の設定と,動作確認が終わっていません
Makefile.msvc.in 9行目 -DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \
mecab.h 1125行目 #ifndef SWIG
common.h include部分に追記
!>#include