YouCompleteMe funcionou bem até eu atualizar o Ubuntu de 16 para 18.
Agora não entende using std::cin;
dizer
nenhum membro chamado 'cin' no namespace 'std'; você quis dizer 'min'?
Ele também não lê nomes de classe definidos em meus próprios arquivos de cabeçalho.
Eu tentei reinstalar o YouCompleteMe, git pull
a versão mais recente, git submodule update
.
Também verifiquei/atualizei o caminho para libclang /usr/lib/llvm-8/lib/libclang.so
em .vimrc e o caminho para a biblioteca padrão C++ /usr/include/c++/7/
em .vim/.ycm_extra_conf.py
Todo o código-fonte C++ compila sem erros com sinalizadores de compilação quase idênticos.
Depois de seguir o README na página YouCompleteMe github e executar
Vá para ~/.vim/.ycm_extra_conf.py e adicione os caminhos depois
#include <...> search starts here:
no array flags com '-isystem' antes de cada um e removendo os antigos includes.Reinicie o vim e o problema foi corrigido.