まず dein.vim をページのとおりにインストールし、次に "call dein#install()" するだけですが、vimproc.vim がエラーを吐いてきました。makeできませんよ、と。
Neovim や Vim は Visual Studio でビルドされているので、vimproc.vim の DLL も Visual Studio でビルドします。手元のバージョンは Visual Studio Community 2017 15.9.11 です。そういえば Visual Studio 2019 もリリースされましたね。
dein#install() によってソース自体はダウンロードされているので、まずは VS2017用 x64 Native Tools コマンドプロンプトを開き、"~/.cache/dein/repos/github.com/Shougo/vimproc" に移動します。
そこには "make_msvc.mak" があるので、"nmake -f make_msvc.mak" します。
$ nmake -f make_msvc.mak CPU=AMD64 Microsoft(R) Program Maintenance Utility Version 14.16.27030.1 Copyright (C) Microsoft Corporation. All rights reserved. make_msvc.mak(25) : fatal error U1052: ファイル 'Win32.mak' が見つかりません。 Stop.ああ、そういえばそんなのが前にも…と思い出しました。
Win32.mak は Windows SDK 7.1A に含まれています。なので、
$ set SDK_INCLUDE_DIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include $ nmake -f make_msvc.mak Microsoft(R) Program Maintenance Utility Version 14.16.27030.1 Copyright (C) Microsoft Corporation. All rights reserved. IF NOT EXIST src\objAMD64/nul MKDIR src\objAMD64 cl -Zi -Od -DDEBUG -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -D_DLL -MDd -D_NDEBUG -D_CRT_SECURE_NO_WARNINGS=1 -D_BIND_TO_CURRENT_VCLIBS_VERSION=1 /wd4100 /wd4127 /O2 -Fdsrc\ -Fosrc\objAMD64\ src\proc_w32.c cl : コマンド ライン warning D9025 : '/Od' より '/O2' が優先されます。 proc_w32.c c:\users\kats\.cache\dein\repos\github.com\shougo\vimproc\src\vimstack.c(286): warning C4267: '=': 'size_t' から 'unsigned int' に変換しました。データが失われているかもしれません。 src\proc_w32.c(697): warning C4018: '>=': signed と unsigned の数値を比較しようとしました。 link /NOLOGO /DEBUG /DEBUGTYPE:cv /INCREMENTAL:NO /NOLOGO -entry:_DllMainCRTStartup -dll kernel32.lib ws2_32.lib mswsock.lib advapi32.lib /OUT:lib\vimproc_win64.dll src\objAMD64/proc_w32.obj shell32.lib ライブラリ lib\vimproc_win64.lib とオブジェクト lib\vimproc_win64.exp を作成中 IF EXIST lib\vimproc_win64.dll.manifest mt -nologo -manifest lib\vimproc_win64.dll.manifest -outputresource:lib\vimproc_win64.dll;2なにやら警告が出ていますが、気にしない。
すると、"~/.cache/dein/repos/github.com/Shougo/vimproc/lib" に DLL ファイルができているのでビルドは無事終了です。
Neovimを起動したら、
:let result=vimproc#system('ls')
などとしたあとで :echo result
して結果が入っていれば OK です。
0 件のコメント:
コメントを投稿