天天看点

Ubuntu16.04 vim 安装YouCompleteMe 报错symbol: clang_getCompletionFixIt

- ERROR - /home/admin/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt

Traceback (most recent call last):

  File "/home/admin/.vim/bundle/YouCompleteMe/third_party/ycmd/ycmd/utils.py", line 639, in ImportAndCheckCore

    ycm_core = ImportCore()

  File "/home/admin/.vim/bundle/YouCompleteMe/third_party/ycmd/ycmd/utils.py", line 630, in ImportCore

    import ycm_core as ycm_core

ImportError: /home/admin/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt

解决办法:在YouCompleteMe目录下运行install.sh

cd  ~/.vim/bundle/YouCompleteMe
./install.sh
           

这里可能会报错,是关于python版本的问题,只需要将install.sh里的python/python2全部改成python3即可。

#!/bin/sh

echo "WARNING: this script is deprecated. Use the install.py script instead." 1>&2


SCRIPT_DIR=$(dirname $0 || exit $?)

command_exists() {
  command -v "$1" >/dev/null 2>&1 ;
}

PYTHON_BINARY=python3
if command_exists python3; then
  PYTHON_BINARY=python3
fi

$PYTHON_BINARY "$SCRIPT_DIR/install.py" "$@" || exit $?
           

此外不建议在./install.sh 后追加 --clang-completer   --system-libclang,追加后在使用vim的时候YCM失效。

参考链接:

https://blog.csdn.net/weixin_30832351/article/details/99106253

http://www.mamicode.com/info-detail-2710530.html