Я использую Youcompleteme для автоматического завершения моего кода на C ++.
Но я обнаружил, что не могу найти std lib в методе класса, как показано ниже.
Но в функции глобуса все работает нормально.
Кроме того, ycm не может найти локальную библиотеку, после того как я поместил заголовок в /usr/local/include
ls /usr/local/include/ | grep brpc
получите brpc
там.
Я использую конфигурацию https://github.com/JDevlieghere/dotfiles/blob/master/.vim/.ycm_extra_conf.py.
Но поменяйте флаги следующим образом.
C_BASE_FLAGS = [
┊ '-Wall',
┊ '-Wextra',
┊ '-Werror',
┊ '-Wno-long-long',
┊ '-Wno-variadic-macros',
┊ '-fexceptions',
┊ '-ferror-limit=10000',
┊ '-DNDEBUG',
┊ '-std=c11',
┊ '-I/usr/lib/',
┊ '-I/usr/include/'
┊ ]
CPP_BASE_FLAGS = [
┊ '-Wall',
┊ '-Wextra',
┊ '-Wno-long-long',
┊ '-Wno-variadic-macros',
┊ '-fexceptions',
┊ '-ferror-limit=10000',
┊ '-DNDEBUG',
┊ '-std=c++11',
┊ '-xc++',
┊ '-I/usr/lib/',
┊ '-I/usr/include/'
┊ '-I/usr/local/lib'
┊ '-I/usr/local/include'
┊ ]
gcc версия 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.10)