너는 나를 완성시켜Ubuntu를 16에서 18로 업그레이드할 때까지는 잘 작동했습니다.
using std::cin;
이제 말하는 것이 이해가 되지 않습니다.
'std' 네임스페이스에 'cin'이라는 멤버가 없습니다. '분'을 의미했나요?
또한 내 헤더 파일에 정의된 클래스 이름도 읽지 않습니다.
git pull
최신 버전인 YouCompleteMe를 다시 설치해 보았습니다 git submodule update
.
또한 .vimrc의 libclang 경로 와 .vim/.ycm_extra_conf.py /usr/lib/llvm-8/lib/libclang.so
의 C++ 표준 라이브러리 경로를 확인/업데이트했습니다./usr/include/c++/7/
모든 C++ 소스 코드는 거의 동일한 컴파일 플래그를 사용하여 오류 없이 컴파일됩니다.
답변1
README를 따른 후YouCompleteMe github 페이지그리고 달리다
$ echo | clang -v -E -x c++ -
clang version 8.0.0-3~ubuntu18.04.1 (tags/RELEASE_800/final)
...
#include "..." search starts here:
#include <...> search starts here:
/usr/bin/../lib/gcc/i686-linux-gnu/7.4.0/../../../../include/c++/7.4.0
/usr/bin/../lib/gcc/i686-linux-gnu/7.4.0/../../../../include/i386-linux-gnu/c++/7.4.0
/usr/bin/../lib/gcc/i686-linux-gnu/7.4.0/../../../../include/c++/7.4.0/backward
/usr/include/clang/8.0.0/include
/usr/local/include
/usr/include/i386-linux-gnu
/usr/include
End of search list.
...
#include <...> search starts here:
~/.vim/.ycm_extra_conf.py로 이동하여 각 앞에 '-isystem'을 사용하여 플래그 배열 뒤에 경로를 추가하고 이전 포함을 제거합니다.
flags = [
# ...
'-isystem',
'/usr/bin/../lib/gcc/i686-linux-gnu/7.4.0/../../../../include/c++/7.4.0',
'-isystem',
'/usr/bin/../lib/gcc/i686-linux-gnu/7.4.0/../../../../include/i386-linux-gnu/c++/7.4.0',
'-isystem',
'/usr/bin/../lib/gcc/i686-linux-gnu/7.4.0/../../../../include/c++/7.4.0/backward',
# ...
]
vim을 다시 시작하면 문제가 해결됩니다.