Windows 64bit でvimprocをコンパイルする

2012年3月28日

Vim

Windows環境におけるvimprocのdllは、今までShougoさんがgithubで配布されているものを使用してきましたが、neobundleを使用するようになってから vimprocを自分でコンパイルしたいと思うようになりました。

色々調査した結果、Windows 64bit の環境でvimprocをコンパイルできましたので紹介します。

動作確認環境

  • Windows 7 64bit
  • Vim 7.3
  • vimproc 7.0

目次

  1. msysをダウンロード
  2. MinGWの64bit版をダウンロード
  3. gccのファイル名を変更
  4. msysとmingw64にPATHを通す
  5. vimprocをコンパイル

msysをダウンロード

msysをダウンロードしてmakeコマンドを使えるようにします。

msysはmakeコマンド以外にも、ls, rm, grep, diff といったコマンドも含まれています。WindowsでVimShellやVimFilerを動かすために必要ですので、ダウンロードしておいて損はないです。

msysは下記URLよりダウンロードできるMinGWに含まれています。

http://msysgit.github.io

本記事作成時点の最新版は mingw-get-inst-20111118 です。
ダウンロードしたらインストーラーを起動します。ウィザードで注意する点は下記の通りです。

  • インストール先はお好みですが、Program Filesにはインストールしないほうがいいと思います。私は C:\app\MinGW にインストールしました。
  • Repository Cateloguesは「Use pre-packaged repository catalogues」を選択します。
  • Select Componentsは「MSYS Basic System」のみチェックをつけます。
Select Components

MinGWの64bit版をダウンロード

Windows 64bit環境でvimprocをコンパイルするには、64bit用のgccが必要です。sourceforgeよりダウンロードします。

下記URLにアクセスします。

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/

Personal Builds > sezero_4.5_20111101 > mingw-w64-bin_i686-mingw_20111101_sezero.zip とリンクを辿ってダウンロードします。

ダウンロードしたアーカイブを解凍し、任意の場所に配置します。私はc:\app\mingw64に配置しました。

sezero氏のmingwをダウンロードした理由は、ある程度新しく、他のMinGWに比べて容量が小さかったためです。

gccのファイル名を変更

c:\app\mingw64\bin に x86_64-w64-mingw32-gcc.exe があるので、gcc.exe にリネームします。

vimprocのコンパイルにはgcc.exeしか使いませんので、他はそのままでも構いません。気になる方はvimprocの導入が成功した後にvimfilerでファイル名を一括置換しましょう。

msysとmingw64にPATHを通す

WindowsのPATHの設定の仕方はWeb上に数多くのリファレンスがありますのでそちらをご確認ください。「windows7 path 設定」などで検索すると見つかります。

下記は、c:\app\MinGWとc:\app\mingw64に配置している場合のPATHの例です。

C:\app\MinGW\msys\1.0\bin;C:\app\mingw64\bin;

PATHが通っているか確認するには、コマンドプロンプトを起動して、make -v や gcc -v と入力します。バージョン情報が表示されればOKです。

vimprocをコンパイル

vimproc本体をダウンロードします。

git clone git://github.com/Shougo/vimproc.git

コマンドプロンプトを起動して、vimprocをコンパイルします。

下記は vimproc が ~/.vim/bundle/vimproc にある場合の例です。

cd .vim\bundle\vimproc
make -f make_mingw64.mak

私の環境ではwarningが出ますが、vimproc/autoload に vimproc_64.dll が作成されています。

warningが若干気持ち悪いですが、しばらくは様子見です。今のところ問題は発生していません。

-技術ブログ
-