将成功安装的YouCompleteMe移植到同平台机器里
已经成功测试,将CentOS 6.5 x86 已经安装YouCompleteMe的副本复制到其他CentOS 6.5 x86
完美运行!
需要准备的文件:
原机器的.vimrc 文件放在新机器家目录下面
原机器的.vim目录复制到 新机器 家目录下面
原机器的 libstdc++.so.6.0.22放在新机器/usr/lib/目录下面
[root@CentOS ~]# vim main.c #尝试创建文件
YouCompleteMe unavailable: requires Vim 7.4.143+
Press ENTER or type command to continue
报错:requires Vim 7.4.143+
---------------------------------------
解决
[root@CentOS ~]# sudo yum -y update vim #安装了7.4.629
[root@CentOS ~]# vim --version | head
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 21 2016 17:06:34)
Included patches: 1-207, 209-629
[root@CentOS ~]# vim --version | grep python #查看vim是否支持python
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent -python3 +vreplace
----------------------------------------------
[root@CentOS ~]# vim main.c #再次尝试创建文件
报错:
The ycmd server SHUT DOWN (restart with ':YcmRestartServer').
Unexpected error while loading the YCM core library.
Use the ':YcmToggleLogs' command to check the logs.
--------------------------------------------------
解决:
:YcmToggleLogs
Available logfiles are:
ycm_hjlCmk.log
ycmd_60897_stderr_EMLHKO.log
ycmd_60897_stdout_zZZEKw.log
[root@CentOS ~]# vim /tmp/ycmd_60897_stderr_EMLHKO.log #查看err
发现问题所在
ImportError: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.20` not found (required by /root/.vim/bundle/YouCompleteMe/third_party/ycmd/ycmd/../ycm_core.so)
将libstdc++.so.6.0.22 更新到系统
[root@CentOS ~]# mv libstdc++.so.6.0.22 /usr/lib #放在该放的位置
[root@CentOS ~]# ln -fs /usr/lib/libstdc++.so.6.0.22 /usr/lib/libstdc++.so.6
==================================================
[root@CentOS ~]# vim main.c #再次尝试创建文件
头文件自动补全
结构体自动补全1
结构体自动补全2
上述过程简写:
[root@CentOS ~]# sudo yum -y update vim
[root@CentOS ~]# mv libstdc++.so.6.0.22 /usr/lib
[root@CentOS ~]# ln -fs /usr/lib/libstdc++.so.6.0.22 /usr/lib/libstdc++.so.6
[root@CentOS ~]# vim main.c
写一个HelloWorld试试。