LINUX.ORG.RU

clang не может найти файлы стандартной библиотеки

 , ,


0

3

использую irony в emacs для автокомплита c++. при появлении в файле каких-либо инклудов стандартной библиотеки происходит следующее:

/usr/bin/clang -cc1 -fsyntax-only -x c++ -code-completion-at -:4:11 -
clang failed with error 1:
$ clang --version
clang version 3.6.2 (tags/RELEASE_362/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix

при использовании clang++ точно такая же проблема. при этом он не справляется именно с code-completion, т.е. тот же файл, при комплите которого возникает ошибка, компилируется.

если это важно, то дистрибутив — арч.

★★★

Ответ на: комментарий от f1u77y

Ну наверное у тебя пути не находит. Раз появляется только при инклюде хедеров.
Соответственно смотри где они там настраиваются.

Bad_ptr ★★★★ ()

нафиг это убожество с какими-то серверами на рубях когда есть company-clang, который легко кастомизируется и умеет то же самое (плюс умеет не падать и не глючить) ?

x4DA ★★★★★ ()
Последнее исправление: x4DA (всего исправлений: 1 )
Ответ на: комментарий от f1u77y

https://github.com/Sarcasm/irony-mode#compilation-database

небось вот в какой-то такой файл настроек проекта надо прописать пути к системным хедерам

$ cat .clang_complete
-I../common
-I/usr/include/c++/4.5.3/
-I/usr/include/c++/4.5.3/x86_64-slackware-linux/

Пути к системным либам можно получить так
echo | cpp -x c++ -Wp,-v 2>&1 | grep '^ .*include' | sed 's/^ /-I/g'

Bad_ptr ★★★★ ()
Последнее исправление: Bad_ptr (всего исправлений: 1 )
Ответ на: комментарий от Bad_ptr

конечно, процесс clang асинхронно пускается. кеширование чего ты хочешь?

x4DA ★★★★★ ()
Ответ на: комментарий от f1u77y

падает-то clang, но ты запусти его отдельно с такими же параметрами и исходником на входе.

увидишь, что ему не нравится.

твой парашный irony не осиливает нормально проанализировать выхлоп и вывести сообщение.

x4DA ★★★★★ ()
Ответ на: комментарий от x4DA

«парашный irony» как раз может вывести сообщение, а состоит оно в том, что не найден зголовочный файл стандартной бибилиотека. по крайней мере, точно так же выходит, если запустить шланг без всяких айрони.

f1u77y ★★★ ()
Ответ на: комментарий от x4DA

в арче нет -dev-пакетов, а хэдеры включены в обычные. libc++ стоит.

f1u77y ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.