MeCab をソースコードからビルドしてインストール(形態素解析)(Windows 上)(書きかけ)

辞書の設定と,動作確認が終わっていません

前準備

7-Zip のインストール

Build Tools for Visual Studio 2026(ビルドツール)のインストール

Build Tools for Visual Studio 2026(ビルドツール)のインストールを行い、C/C++ コードのビルド環境を整える。

[Build Tools for Visual Studio 2026(ビルドツール)のインストール手順を見るには、ここをクリック]

Windows での Build Tools for Visual Studio 2026 のインストール

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合,この手順は不要である。

以下のコマンドは、Build Tools が未インストールの場合は winget で新規インストールし、インストール済みの場合は setup.exe modify でコンポーネントを追加する(バージョンは変更しない)。

インストールコマンドの実行方法

管理者権限コマンドプロンプトを起動する(手順:Windows キーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。

REM ============================================================
REM Visual C++ 再頒布可能パッケージ (VCRedist 2015-)
REM ============================================================
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"
if not "%ERRORLEVEL%"=="0" ( color 0c & echo VCRedist のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )

REM ============================================================
REM Visual Studio Build Tools + Desktop development with C++
REM (VCTools、MSBuildTools、CMake連携、Clang、Windows 11 SDK)
REM ============================================================
REM 進行中のインストーラーを停止(ロック競合回避。対象プロセスが存在しない場合は
REM taskkillがエラーを返すが、これは想定内であるため出力のみ抑制する)
taskkill /F /IM vs_setup.exe /T >nul 2>&1
taskkill /F /IM vs_installer.exe /T >nul 2>&1
taskkill /F /IM vs_installerservice.exe /T >nul 2>&1
taskkill /F /IM msiexec.exe /T >nul 2>&1

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
REM 未インストール時: winget で新規インストール
REM インストール済み時: setup.exe modify でコンポーネント追加(バージョンは変更しない)
winget list --id Microsoft.VisualStudio.BuildTools 2>nul | findstr /i "BuildTools" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
    for /f "usebackq delims=" %P in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do start /wait "" "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "%P" --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.v143.x86.x64 --includeRecommended --quiet --norestart --nocache
    if not "%ERRORLEVEL%"=="0" ( color 0c & echo Build Tools のコンポーネント追加に失敗しました & ping 127.0.0.1 -n 6 >nul & color )
) else (
    winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.v143.x86.x64"
    if not "%ERRORLEVEL%"=="0" ( color 0c & echo Build Tools のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )
)

REM
REM BuildTools のインストールパスを vswhere.exe で取得(メジャーバージョンに依存しない)
set "VSWHERE=C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
set "BT_PATH="
for /f "usebackq delims=" %P in (`"%VSWHERE%" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do set "BT_PATH=%P"
if not defined BT_PATH ( color 0c & echo Build Tools のインストールパスを取得できませんでした & ping 127.0.0.1 -n 6 >nul & color )

REM 破損時の修復(任意、動作がおかしくなった場合)
REM if defined BT_PATH "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" repair --installPath "%BT_PATH%" --quiet --norestart
REM 導入確認(インストールパスが表示されれば正常)
"%VSWHERE%" -products * -requires Microsoft.VisualStudio.Workload.VCTools -property installationPath

上記のコマンドでは、Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし、続いて以下のコンポーネントを追加している。

追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。

インストール完了の確認

winget list Microsoft.VisualStudio.BuildTools

Visual Studio を必要とするとき

Visual Studio の機能を必要とする場合は,追加インストールできる。

MeCab Windows 版のインストール

  1. MeCab のWebページを開く

    http://taku910.github.io/mecab/

  2. ソースコード mecab-0.996.tar.gz と IPA 辞書をダウンロード
  3. ダウンロードした mecab-0.996.tar.gz ファイルを展開(解凍)する.分かりやすいディレクトリに置く.
    c:\tools\mecab-0.996 下に展開(解凍)したものとして説明を続ける
    Windows での展開(解凍)に便利な 7-Zip: 別ページ »で説明
  4. 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
      
  5. 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
    
  6. ソースコードの書き換えを行う.
    • 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;
      
  7. mecab.h の書き換え

    mecab.h の 785 行目に,次の1行を挿入

    virtual void set_result(const char *s) = 0;
    
  8. ビルド
    cd c:\tools\mecab-0.996
    cd src
    name -f Makefile.msvc.in
    
  9. ビルドの終了の確認

    エラーメッセージが出ていないこと.

  10. Windows の環境変数 PATH に次を追加
    C:\Program Files (x86)\Mecab\bin 
    
  11. Windows の環境変数 MECABRC に次を設定
    C:\Program Files (x86)\Mecab\etc\mecabrc
    

Pythonのmecab-pythonライブラリのインストール

  1. MeCab のWebページを開く

    http://taku910.github.io/mecab/

  2. 「perl/ruby/python/java バインデング」の下の「ダウンロード」をクリック.
  3. mecab-python-0.996.tar.gz をダウンロード(現時点での最新バージョン)
  4. ダウンロードが始まる.
  5. ダウンロードした mecab-python-0.996.tar.gz ファイルを展開(解凍)する.分かりやすいディレクトリに置く.
    c:\tools\mecab-python-0.996 下に展開(解凍)したものとして説明を続ける
    Windows での展開(解凍)に便利な 7-Zip: 別ページ »で説明
  6. c:\tools\mecab-0.996\src にある mecab.h、libmecab.lib を c:\tools\mecab-python-0.996 にコピー.
  7. 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' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」と表示されるエラーの回避のため.

  8. 以下のコマンドを管理者権限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
    
  9. エラーメッセージが出ないことを確認
  10. 以下のコマンドをx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する   (手順:スタートメニュー →Visual Studio 20xx」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」 を選ぶ)。
    python setup.py install
    
  11. エラーメッセージが出ないことを確認

辞書の設定と,動作確認が終わっていません

Makefile.msvc.in 9行目 -DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \

mecab.h 1125行目 #ifndef SWIG

common.h include部分に追記 !>#include