在我将 Ubuntu 从 16 升级到 18 之前,YouCompleteMe工作正常。
现在它不明白using std::cin;
说
命名空间“std”中没有名为“cin”的成员;您指的是 'min' 吗?
它也不会读入我自己的头文件中定义的类名。
git pull
我已经尝试重新安装最新版本的YouCompleteMe git submodule update
。
我还验证/更新了 libclang 的路径到/usr/lib/llvm-8/lib/libclang.so
.vimrc 和 C++ 标准库的路径到/usr/include/c++/7/
.vim/.ycm_extra_conf.py
所有 C++ 源代码编译时都没有错误,编译标志几乎相同。
按照YouCompleteMe github 页面上的自述文件运行
进入 ~/.vim/.ycm_extra_conf.py 并
#include <...> search starts here:
在标志数组中添加路径,在每个路径之前加上“-isystem”并删除旧的包含。重启vim,问题解决。