$ clang-tidy-19 --version
Ubuntu LLVM version 19.1.7
< /code>
сгенерировал compile_commands.json: есть 2 записи в нем: < /p>
[
{
"arguments": [
"/usr/bin/g++",
"-c",
"-I.",
"-g",
"-fdiagnostics-color=always",
"-fprofile-arcs",
"-ftest-coverage",
"-DGTEST_HAS_PTHREAD=1",
"-std=gnu++20",
"-D_UCRT",
"-D_GNU_SOURCE",
"lib/logger/logger.cpp",
"-o",
"debug/ut-dir/lib/logger/logger.cpp.o"
],
"directory": "/home/myid/projects/web/cpp/cpip-common",
"file": "/home/myid/projects/web/cpp/cpip-common/lib/logger/logger.cpp",
"output": "/home/myid/projects/web/cpp/cpip-common/debug/ut-dir/lib/logger/logger.cpp.o"
},
{
"arguments": [
"/usr/bin/g++",
"-c",
"-I.",
"-g",
"-fdiagnostics-color=always",
"-fprofile-arcs",
"-ftest-coverage",
"-DGTEST_HAS_PTHREAD=1",
"-std=gnu++20",
"-D_UCRT",
"-D_GNU_SOURCE",
"ut/ut_test_logger.cpp",
"-o",
"debug/ut-dir/ut/ut_test_logger.cpp.o"
],
"directory": "/home/myid/projects/web/cpp/cpip-common",
"file": "/home/myid/projects/web/cpp/cpip-common/ut/ut_test_logger.cpp",
"output": "/home/myid/projects/web/cpp/cpip-common/debug/ut-dir/ut/ut_test_logger.cpp.o"
}
]
< /code>
У меня есть два подкатализации < /p>
lib/
other/
abc.cpp
logger/
logger.cpp
logger.h
< /code>
Обратите внимание, что «abc.cpp» не составлен, поэтому он не назван в compile_commands.json.
Запустить командную строку: < /p>
cmd: clang-tidy-19 --quiet -p . lib/* lib/other/* lib/logger/*
< /code>
и он работает. Это генерирует нормальные предупреждения C ++, и я исправил их, поэтому анализ ворса работает. < /P>
Но я все еще получаю эти предупреждения: < /p>
Error while processing /home/myid/projects/web/cpp/cpip-common/lib/logger/logger.h.
error: error reading '/home/myid/projects/web/cpp/cpip-common/lib/logger': Is a directory [clang-diagnostic-error]
error: error reading '/home/arrizza/projects/web/cpp/cpip-common/lib/other': Is a directory [clang-diagnostic-error]
do_lint: clang-tidy rc=1
< /code>
Это правда, это каталоги. В compile_commands.json или командной строке нет нигде, которая называет эти каталоги.cmd: clang-tidy-19 --quiet -p . lib/* lib/other/* lib/logger/* ut/*
Обновление:
Попробого добавить-'-clang-diagnostic-error работают просто отлично. (Они генерируются сценарием Python) < /li>
< /ul>
Что мне нужно сделать, чтобы избавиться от «ошибок»? Они производят ненулевой код возврата.
Запуск Clang-tidy v19 на Ubuntu 24.04 < /p> [code]$ clang-tidy-19 --version Ubuntu LLVM version 19.1.7 < /code> сгенерировал compile_commands.json: есть 2 записи в нем: < /p> [ { "arguments": [ "/usr/bin/g++", "-c", "-I.", "-g", "-fdiagnostics-color=always", "-fprofile-arcs", "-ftest-coverage", "-DGTEST_HAS_PTHREAD=1", "-std=gnu++20", "-D_UCRT", "-D_GNU_SOURCE", "lib/logger/logger.cpp", "-o", "debug/ut-dir/lib/logger/logger.cpp.o" ], "directory": "/home/myid/projects/web/cpp/cpip-common", "file": "/home/myid/projects/web/cpp/cpip-common/lib/logger/logger.cpp", "output": "/home/myid/projects/web/cpp/cpip-common/debug/ut-dir/lib/logger/logger.cpp.o" }, { "arguments": [ "/usr/bin/g++", "-c", "-I.", "-g", "-fdiagnostics-color=always", "-fprofile-arcs", "-ftest-coverage", "-DGTEST_HAS_PTHREAD=1", "-std=gnu++20", "-D_UCRT", "-D_GNU_SOURCE", "ut/ut_test_logger.cpp", "-o", "debug/ut-dir/ut/ut_test_logger.cpp.o" ], "directory": "/home/myid/projects/web/cpp/cpip-common", "file": "/home/myid/projects/web/cpp/cpip-common/ut/ut_test_logger.cpp", "output": "/home/myid/projects/web/cpp/cpip-common/debug/ut-dir/ut/ut_test_logger.cpp.o" } ] < /code> У меня есть два подкатализации < /p> lib/ other/ abc.cpp logger/ logger.cpp logger.h < /code> Обратите внимание, что «abc.cpp» не составлен, поэтому он не назван в compile_commands.json. Запустить командную строку: < /p> cmd: clang-tidy-19 --quiet -p . lib/* lib/other/* lib/logger/* < /code> и он работает. Это генерирует нормальные предупреждения C ++, и я исправил их, поэтому анализ ворса работает. < /P> Но я все еще получаю эти предупреждения: < /p>
Error while processing /home/myid/projects/web/cpp/cpip-common/lib/logger/logger.h. error: error reading '/home/myid/projects/web/cpp/cpip-common/lib/logger': Is a directory [clang-diagnostic-error] error: error reading '/home/arrizza/projects/web/cpp/cpip-common/lib/other': Is a directory [clang-diagnostic-error]
do_lint: clang-tidy rc=1 < /code> Это правда, это каталоги. В compile_commands.json или командной строке нет нигде, которая называет эти каталоги.cmd: clang-tidy-19 --quiet -p . lib/* lib/other/* lib/logger/* ut/* [/code] Обновление:
Попробого добавить-'-clang-diagnostic-error работают просто отлично. (Они генерируются сценарием Python) < /li> < /ul> Что мне нужно сделать, чтобы избавиться от «ошибок»? Они производят ненулевой код возврата.
Я пытаюсь настроить clang-tidy в папке моего проекта. Это было непросто, но на данный момент я выполнил большинство требований проекта по clang-tidy, кроме одного. clang-tidy анализирует и выдает ошибки сторонних пакетов в моей папке .conan. Я...
Является ли Clang-tidy '-Checks = clang-analyzer-*' падение замены для Scan-Build и clang-ceck -нализис ? Если я использую первое, есть ли необходимость снова использовать последние? Несмотря на то, что ответы там говорят Да , нет связанных...
Недавно я пытаюсь научиться писать камерию AST, который совпадает с некоторыми типами операторов переключения (которые включаются в набор перечислений). Как лучше всего изучить это? Не очень легко выяснить правильную иерархию сопоставителей, которую...