Ответ 1
Вероятно, вы должны использовать clang_complete, а не gccsense.
Главное здесь - архитектура двух. Идея обоих решений очень похожа: вы не можете получить нормальное завершение С++ без доступа к внутренней информации компилятора (gcc) (абстрактное дерево синтаксиса), в то время как gcc не предоставляет вам достаточных интерфейсов для этого. Часть реализации этой информации, однако, здесь совсем другая: gccsense - это своего рода "хак" - это пользовательская сборка gcc, способная хранить необходимую информацию для последующего предоставления ее плагину, в то время как clang_complete идет другим путем, используя альтернативу компилятор: clang, одна из главных целей создания которого была именно то, что AST легко доступным для внешних инструментов.
Итак, в случае использования gccsense вам нужно будет скомпилировать свой код с помощью своего собственного компилятора gcc, который уже немного устарел (gccsense использует gcc 4.4) и будет постоянно нуждаться в поддержке разработчиков в функции. Напротив, clang_complete не так сильно зависит от компилятора clang, он использует его как внешний инструмент.
Что касается производительности: снова clang был разработан быстрее, чем gcc, и это так. Clang_complete может быть немного медленнее в Windows, чем в MacOS/Linux, однако gccsense даже не может быть скомпилирован для Windows в то время.