1、为了更好的解析语义,可以选择下载clang二进制包:
2、 编译ycm_core:
mkdir -p ~/.vim/bundle/YouCompleteMe/ycm_build
cd
~/.vim/bundle/YouCompleteMe/ycm_build
cmake -G "Unix Makefiles"
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
生成clang的Makefile:
cmake -G"Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir .~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
其中~/ycm_temp/llvm_root_dir是将下载下来的clang二进制包的(bin,include等)解压缩的位置。
最后一步:
cmake--build --target ycm_core
遇到的问题:
a.ycm包没有完全下载完就开始进行配置。出现找不到cpp目录的错误
b.非源码安装Python,缺少python.h头文件,在2.d步骤时,出现CouldNOT find PythonLibs (missing: PYTHON_LIBRARIESPYTHON_INCLUDE_DIRS)错误,解决方案就是重新下载Python安装包,覆盖安装原来的包
c.执行到最后一步的时候,出现/usr/bin/ld:/usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32against `.rodata.str1.8' can not be used when making a sharedobject; recompile with -fPIC /usr/local/lib/libpython2.7.a: couldnot read symbols: Bad value
原因就是安装python的时候./configure这一步默认没有配置编译动态.so库——
libpython2.7.so,解决方案如下:
重新编译python:
./configure--enable-shared
makeclean
make
sudo makeinstall
再重复步骤2.d
d.安装的过程中出现
YouCompleteMe unavailable no module named frozendict或者YouCompleteMe unavailable no module named future