How to build Vim on MinGW64/BashOnWindows
(注意) : https://github.com/sgur/vim-kaoriya-patches が guilt で適用されている前提
git fetch
guilt pop -a ; git merge --ff-only ; guilt push -a
cd src/
mingw32-make -f Make_ming.mak DIRECTX=yes FEATURE=HUGE ARCH=x86-64 OLE=yes WINVER=0x0A00 STATIC_STDCPLUS=yes USE_STDCPLUS=yes CC="gcc" CXX="g++" -j8
install --verbose --strip --target-directory ~/Bin *vim.exe vimrun.exe GvimExt/gvimext.dll
cd po/
make -f Make_cyg.mak
cd ../..
rsync --archive --verbose --delete-during runtime/ ~/Bin/vim80/
MinGWパッケージの追加
sudo apt-get install mingw-w64 gettext
gettext
が必要gcc-mingw-w64
パッケージを直接指定してもよさそうビルドするときに CC
と CXX
を変更
※ if_python3
とかの外部 IF を利用する時はパスの指定を c:/Python3
→ /mnt/c/Python3
とかに変更する必要あり
make -f Make_ming.mak PYTHON3=/mnt/c/tools/python3 PYTHON3_VER=36 DIRECTX=yes FEATURE=HUGE ARCH=x86-64 OLE=yes WINVER=0x0A00 STATIC_STDCPLUS=yes USE_STDCPLUS=yes CC="x86_64-w64-mingw32-gcc" CXX="x86_64-w64-mingw32-g++" WINDRES="x86_64-w64-mingw32-windres" -j8
もしくは
make -f Make_cyg.mak PYTHON3=/mnt/c/tools/python3 PYTHON3_VER=36 DIRECTX=yes ARCH=x86-64 OLE=yes STATIC_STDCPLUS=yes CROSS_COMPILE="x86_64-w64-mingw32-" -j8
以下のように、uninstl.exe
のビルドに失敗するため、 Make_cyg_ming.mak
をちょっと修正の必要があった。
/tmp/ccFwwuc4.o:uninstal.c:(.text+0x549): `__imp_CoTaskMemFree' に対する定義されていない参照です
collect2: error: ld returned 1 exit status
make: *** [uninstal.exe] エラー 1
make: *** 未完了のジョブを待っています....
修正箇所
uninstal.exe: uninstal.c
- $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
+ $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) -lole32
翻訳リソースの更新
make -f Make_cyg.mak GETTEXT_PATH=/usr/bin/
make -f Make_cyg.mak install
Git for Windows をインストール済であれば、C:\Program Files\Git\mingw64\bin
から libiconv-2.dll
と libintl-8.dll
を gvim.exe
を保存したフォルダにコピーする