Я использую ALE плагин vim, который по умолчанию работает с clang и gcc. Если я пишу программу на C и определяю переменную ssize_t
, то тип ALE помечает ее как ошибку сообщением «неизвестное имя типа« ssize_t »; вы имели в виду« size_t »?», Независимо от того, * ssize_t
определено в stdio.h и программа успешно скомпилирована gcc. Я полагаю, что линкеры gcc и clang не следуют stdio.h и должны быть настроены. Возможно, мне следует установить переменные g:ale_c_clang_options
и g:ale_gcc_options
в vim. я пытался
let g:ale_c_clang_options = '-std=c11 -Wall -I/usr/include'
let g:ale_linters = {'c': ['clang']}
Результат тот же.
UPD:
Я изменил словарь линтеров в .vimrc и сообщение об ошибке исчезает.
let g:ale_linters = {'c': ['clangtidy']}
Но я до сих пор не знаю, как правильно настроить линкеры clang и gcc.