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

本文解决了一个常见的YouCompleteMe插件在Vim编辑器中出现的错误,即'undefined symbol: clang_getCompletionFixIt'。通过修改安装脚本中的Python版本设置为Python3,可以成功解决该问题,确保了代码补全功能的正常运行。

 

- 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.youkuaiyun.com/weixin_30832351/article/details/99106253

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值