参考:https://github.com/yangyangwithgnu/use_vim_as_ide

    https://github.com/Valloric/YouCompleteMe

根据 https://github.com/Valloric/YouCompleteMe 中的full install 步骤安装出现几个问题:

(1)在执行

  cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DPATH_TO_LLVM_ROOT=/path/to/prebuilt_binarary   .  ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

  的过程中报错: c++编译器不完全支持C++11特性。(当前版本gcc-4.8.5)

  解决方法: 手动升级到GCC-5.2.0, 具体步骤可以收网上的教程,安装完以后替换旧版本 : /usr/bin/gcc, /usr/bin/g++ ,/usr/bin/c++.(安装步骤参考:https://itbilu.com/linux/management/V1vdnt9ll.html

  另外: export CXX=/path/to/gcc5.2.0.

(2)继续报错如下

  "Failed to determine the source files for the regular expression backend" (没有找到正则表达式的源文件)

  这个问题搜了好久,都没有很明确的答案。但是一直怀疑是c++标准库的问题,因为之前安装clang的时候安装了一个libstdc++库,所以有点怀疑是不是库冲突导致,但clang应该是兼容gcc的。

  最后尝试设置 LD_LIBRARY_PATH环境变量到自己编译的gcc5.2.0的libstdc++.so的目录(编译目录下的lib),问题解决。

(3)执行

  cmake   --build . --target ycm_core

  报错:链接错误, 添加符号错误,无法识别的格式错误。

  原因:在第一步中使用 -DPATH_TO_LLVM_ROOT,该目录是从 http://llvm.org/releases/download.html 下载的prebuilt_binaray, 版本是Aarch64的版本,后来发现CentOS7 根本就没有对应的编译好的二进制libclang.so。

  (CentOS6 好像可以用Fedora版本的)

  解决方法:使用自己编译clang的时候编译的libclang.so, 在第一步中删除-DPATH_TO_LLVM_ROOT, 添加 -DEXTERNAL_LIBCLANG_PATH=/path/to/libclang.so 。

  编译成功,生成ycm_core.so。

  

 

VIM YCM 插件安装问题记录的更多相关文章

  1. 2018-2019-1 20189206 vim.c插件安装

    vim插件安装 vim插件安装 由于今天在安装vim.c插件耗费了很多时间,配置文件一直不生效,特此记录以下安装插件的方法. 安装vim.c按照博客的方法 第一步:创建目录~/.vim 这个目录是用来 ...

  2. Vim常用插件安装及配置方法

    Vundle 安装 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 配置 vimrc首部添 ...

  3. 在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)

    2015.09.08 更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装 命令: sudo apt-g ...

  4. Linux --- vim 安装、支持python3的配置、插件自动补全YCM的安装配置及全过程错误总结

    1.git(用来下载vim和相关插件) sudo apt-get install git 2,cmake(用来编译clang-llvm) sudo apt-get install build-esse ...

  5. vim插件安装总结

    vim插件安装总结 vim 插件 vundle 插件对于vim来说是一个杀手级别的神器助手,能自动补全,语法高亮,文件搜索等等,有效地提升了编程效率.下面就个人的一些安装和使用进行一个总结. 自动管理 ...

  6. vim配置及插件安装管理(超级详细)

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  7. vim配置及插件安装管理(超级详细)[转]

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  8. 打造linux下的source insight——vim插件安装使用总结

    source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...

  9. Linux c++ vim环境搭建系列(4)——vim插件安装配置使用

    4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com ...

随机推荐

  1. angularjs与server交互

    真正的应用须要和真实的server进行交互,移动应用和新兴的Chrome桌面应用可能是个例外,可是对于此外的全部应用来说,不管你是想把数据持久化到云端.还是须要与其它用户进行实时交互.都须要让应用与s ...

  2. 使用Batik绘制SVG图并保存为png图像格式

    SVG(Scalable Vector Graph)--可缩放矢量图形. 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描写叙述二维矢量图形的一种图形格式.它由万维网联盟制定.是一 ...

  3. RAII手法封装相互排斥锁

    CriticalSectionWrapper是一个接口类 class CriticalSectionWrapper { public: // Factory method, constructor d ...

  4. Atitit.异步编程的发展历史 1.1. TAP & async/await

    Atitit.异步编程的发展历史 1.1. TAP & async/await 1. 异步编程的发展历史1 1.1. Thread1 1.2. Task1 1.3. Async await2 ...

  5. How to Use HTML5 FUll Screen API(怎样使用HTML5全屏接口)

    原文链接:http://www.sitepoint.com/use-html5-full-screen-api/ 假设你不太喜欢变化太快的东西,那么web开发可能不适合你. 我曾在2012年末有写过F ...

  6. 怎样新建Quartusproject—FPGA新手教程

    这一章我们来实现第一个FPGAproject-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建project,代码设计,综合实现.管脚约束,下载FPGA程序. 掌握本章内 ...

  7. poj3411--Paid Roads(bfs+状压)

    题目链接:id=3411">点击打开链接 题目大意:有n个点.m条有向边,经过边须要一个花费,a b c p q代表 a到b的一条道路,假设经过这条边之前经过c点,那么须要p的花费,否 ...

  8. oracle中can not set解决方法

    原因:set autotrace on和set trimspool on在pl\sql中使用不了 解决方法:在window环境中,使用cmd命令,sqlplus user_name/password@ ...

  9. C++11并发学习之三:线程同步(转载)

    C++11并发学习之三:线程同步 1.<mutex> 头文件介绍 Mutex又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 <mutex> 头文 ...

  10. 配置LANMP环境(9)-- 安装Git与vsftp

    一.安装Git 检查是否已经安装 git --version 安装 yum -y install git 二.安装vsftp 检查是否已经安装 yum list installed vsftpd 安装 ...