VIM YCM 插件安装问题记录

参考: 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。

  

 

 

posted on   那个人好像一条狗  阅读(645)  评论(0编辑  收藏  举报

编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· 万字长文详解Text-to-SQL
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· 卧槽!C 语言宏定义原来可以玩出这些花样?高手必看!
历史上的今天:
2015-07-24 Interpreter Pattern
2015-07-24 Iterator Pattern
2015-07-24 Chain of Responsibility Pattern
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示