VIM YCM 插件安裝問題記錄

參考: https://github.com/yangyangwithgnu/use_vim_as_ide  html

    https://github.com/Valloric/YouCompleteMelinux

根據 https://github.com/Valloric/YouCompleteMe 中的full install 步驟安裝出現幾個問題:c++

(1)在執行git

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

  的過程當中報錯: 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.htmlexpress

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

(2)繼續報錯以下ide

  "Failed to determine the source files for the regular expression backend" (沒有找到正則表達式的源文件)ui

  這個問題搜了很久,都沒有很明確的答案。可是一直懷疑是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。

相關文章
相關標籤/搜索