#c #clang #llvm #clang-tidy
#c #лязг #llvm #clang-tidy
Вопрос:
Я использую clang-tidy для обработки исходного кода. В файле .clang-tidy
, который я определил:
Checks: '-*,readability-identifier-naming'
CheckOptions:
...
- { key: readability-identifier-naming.NamespacePrefix, value: n1_ },
- { key: readability-identifier-naming.GlobalVariablePrefix, value: g1_ },
...
Мой руководитель.ч:
namespace n1_test
{
...
}
Компоновка этого файла с помощью clang-tidy (пробовал 11.1.0, 13.0.0git (оба скомпилированы мной) и 10.0.0 (загружены)) на Linux Mint 19.2 (Tina)
с:
clang-tidy-11.1.0 -export-fixes=fixes.txt /tmp/clangTest/mylib/source/myHeader.h -- -I/tmp/clangTest/myLib/source
приводит к:
warning: invalid case style for global variable 'n1_test' [readability-identifier-naming]
namespace n1_test {
^~~~~~~~~~
g1_n1_test
Я не понимаю, почему NamespacePrefix
это не работает, и clang-tidy обрабатывает пространство имен как глобальную переменную. Я тоже тестирую NamespaceCase
, но это не работает.
PS: Согласно документации, это должно работать
Комментарии:
1. Компилируется ли ваш код (возможно, ошибка из другого места)? В противном случае это кажется ошибкой.
2. он компилируется. Возможно, я также должен упомянуть, что я также получил ошибку при включении списка:
.error: 'list' file not found [clang-diagnostic-error] #include <list>
3. Тогда кажется, что ваша «установка / настройка» в некотором роде нарушена. Думаю, предоставление системной информации (в основном Windows или * nix) может помочь. И где находятся стандартные заголовки.
4. Linux Mint 19.2 (Tina)
Ответ №1:
невозможно использовать clang-tidy непосредственно для файлов заголовков. Вместо этого я должен проверить файл cpp и добавить -header-filter=.*
, чтобы также проверить заголовки:
clang-tidy-11.1.0 -header-filter=.* -export-fixes=fixes.txt /tmp/clangTest/mylib/source/main.cpp -- -I/tmp/clangTest/myLib/source