LINUX.ORG.RU

Как подсунуть compilation database в irony?

 


0

1

Привет! Помогите, пожалуйста, разобраться с compilation database в irony-mode. На странице проекта на github сказано, что irony постарается найти compilation database самостоятельно, но в моём случае он не находит. Ещё сказано:

Please refer to irony-cdb-autosetup-compile-options and irony-cdb-compilation-databases.

Но я не понял где искать информацию по этим переменным и функциям. В emacs по C-h вижу только

Not documented.

Ещё есть ссылка на страницу, посвещённую compilation database, где есть много информации о том что это, как это получить, где используется, но как это подсунуть в irony нет ни строчки. Гуглёж привёл к исправлениям каких-то багов для сильно специфичных случаев. В общем, как указать для irony этот compilation database?

Deleted

Последнее исправление: av0r (всего исправлений: 1)

Быстро глянул. Тебе нужно настроить irony-cdb-search-directory-list. По-умолчанию оно ("." «build»), т.е. корень проекта, либо build в проекте. Настроить можно через customize (ну или руками, по-старинке). Как вариант, можно использовать dir-locals, чтобы настроить этот список локально для проекта.

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

К сожалению, не получилось через dir-locals, как изменить значение этой переменой я разобрался, оно меняется, но irony всё равно не находит. Мне в голову пришёл другой способ — сделать симлинк в папку с исходниками хотя бы как временный вариант. Получилось, irony увидел compilation database. Рабочую папку определил верно. Но выдаёт теперь ошибку:

error opening 'hello_world@exe/src_hello.c.o.d'

хотя файл такой есть. Это баг?

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

Ещё одно наблюдение: я попробовал задать имя директории для сборки «build», значение по умолчанию в irony-cdb-search-directory-list и это сработало. Но следующая ошибка всё ещё присутствует. Не может открыть имеющийся файл. А вот если я через dir-locals меняю значение irony-cdb-search-directory-list, то не находит и ручной вызов irony-cdb-autosetup-compile-options ничего не даёт.

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