相关的环境:
win 7 x64
vs2013 community
python 2.7.10 AMD64
python 3.5 AMD64
LLVM 3.5
cmake 3.5
YouCompleteMe 不支持 python 2.7.11
一、编译vim支持python
下载vim代码,命令:
编译vim代码,使用的是VS2013社区版
具体命令:
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
%VCDIR%\vcvarsall.bat x86_amd64
SET TOOLDIR=C:\
%VCDIR%\bin\nmake -f Make_mvc.mak clean
%VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PYTHON=%TOOLDIR%Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%Python35 DYNAMIC_PYTHON3=yes PYTHON3_VER=35 IME=yes CSCOPE=yes
命令是参考vim的src目录中的bigvim64。bat文件写的,具体的详细参数信息可以在相应的makefile和相应平台的说明文档中找到
编译生成的exe文件基本都在src目录下
整理生成文件的命令,参考,整理的并不全面
@echo off
mkdir vim74_bs
echo "create vim74_bs fodler"
copy src\*.exe vim74_bs
copy src\GvimExt\gvimext.dll vim74_bs
copy src\xxd\xxd.exe vim74_bs
安装vim
启动生成的install.exe安装相应的指示安装即可
二。安装youcompleteme
下载代码:
git submodule update --init --recursive
进入代码目录,新建目录ycm_build
执行命令,生成相应的工程文件
"C:\Program Files (x86)\CMake\bin\cmake.exe" -G "Visual Studio 12 Win64" -DPATH_TO_LLVM_ROOT=D:\CrossPlatSoftware\LLVM -DUSE_CLANG_COMPLETER=1 -DEXTERNAL_LIBCLANG_PATH=D:\CrossPlatSoftware\LLVM\lib\libclang.lib -DPYTHON_LIBRARY=C:\Python27\libs\python27.lib -DPYTHON_INCLUDE_DIR=C:\Python27\include . ..\third_party\ycmd\cpp
使用命令编译,或者使用vs打开相应的工程文件编译
"C:\Program Files (x86)\CMake\bin\cmake.exe" --build . --target ycm_core --config Release
github上有更详细的编译说明
重要:YCM不支持 python2.7.11
编译的时候报错,无法找到win32.mak文件,解决方法:在相应的makefile文件中使用win32.mak的绝对路径包含即可
编译gvimext.dll时候也会碰到相同的错误,解决方法也相同
当然解决这个问题会有更好的方法,目前这种最直接