参考: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. 有关CGRectGetMinX,CGRectGetMidX,CGRectGetMaxX图解

    CGRect size = CGRectMake(20, 20, 400, 400); //矩形中最小x值 ,size.x CGRectGetMinX(size) = 20; //矩形中最小y值 ,s ...

  2. [脚本编程] 过云盾、D盾各种盾shell

    作者: dean <?php //过云盾.D盾各种盾shell $id = $_GET['id']; //debug echo $catid = isset($_GET['catid'])?ba ...

  3. poj 2506 Tiling(java解法)

    题目链接:id=2506">http://poj.org/problem?id=2506 本题用的java解的.由于涉及到大数问题,假设对java中的大数操作不熟悉请点这儿:链接 思路 ...

  4. LeetCode题目:Generate Parentheses

    原题地址:https://leetcode.com/problems/generate-parentheses/ 解决方法:回溯法 class Solution { private: vector&l ...

  5. 机房收费系统合作版(二)——初识Git

    研究了一天半的Git.查阅了不少资料,这里将Git的运用分为两条线做个简单梳理:本地控制库.远程控制库. **************************************本地控制库**** ...

  6. .net 定时服务

    namespace MvcApplication1 { public class MvcApplication : System.Web.HttpApplication { protected voi ...

  7. NSNotification的几点说明

    1.NSNotification消息的同步性 ①NSNotification使用的是同步操作.即如果你在程序中的A位置post了一个NSNotification,在B位置注册了一个observer,通 ...

  8. oc 经常用到弹出view的方法

    #pragma mark 弹出view -(void)exChangeOut:(UIView *)changeOutView dur:(CFTimeInterval)dur { CAKeyframeA ...

  9. TRIZ系列-创新原理-23-反馈原理

     反馈原理的详细表述例如以下:1)引入反馈:2)假设已经有反馈,那么改变它这个原理告诉我们应当从系统中尽量多收集反馈信息.并用这些信息来矫正系统的作用.非常easy看出,引入反馈是系统自己主动控制 ...

  10. Java Web开发笔记

    问题: 读取资源文件问题 servletContext.getRealPath() servletContext.getResouce().getPath() setvletContext.getRe ...