Как использовать и настроить Clang-Tidy на Windows?

Я пытаюсь использовать анализ кода clang-tidy, чтобы проверить CppCoreGuidelines. Я скачал предварительно собранный двоичный файл LLVM 7.0.0 для Win 7 64 бит. Я могу успешно скомпилировать с помощью clang, я сделал базовый пример компиляции этого кода, я назвал исходный файл test.cpp:

// test.cpp
#include <iostream>

int main(int argc, char const *argv[])
{
std::cout << "Hello World!" << std::endl;
return 0;
}

Затем я запустил это в терминале:

clang test.cpp

Я получил этот вывод при компиляции:

test-c4b051.o : warning LNK4217: locally defined symbol __std_terminate imported in function "int `public: static unsigned __int64 __cdecl std::char_traits<char>::length(char const * const)'::`1'::dtor$2" (?dtor$2@?0??length@?$char_traits@D@std@@SA_KQEBD@Z@4HA)
test-c4b051.o : warning LNK4217: locally defined symbol _CxxThrowException imported in function "public: void __cdecl std::ios_base::clear(int,bool)" (?clear@ios_base@std@@QEAAXH_N@Z)

Но он работал нормально, печатая «Hello World», и все идет хорошо до тех пор, пока здесь, но когда я хочу запустить clang-tidy, я получаю следующий вывод, когда я запускаю это, я взял ссылку отсюда Дополнительная документация Clang Tools 8:

clang-tidy test.cpp -checks=-*,clang-analyzer-*,-clang-analyzer-cplusplus*Error while trying to load a compilation database:
Could not auto-detect compilation database for file "test.cpp"No compilation database found in C:\Users\uidr8361\Desktop\C++ or any parent directory
fixed-compilation-database: Error while opening fixed database: no such file or directory
json-compilation-database: Error while opening JSON database: no such file or directory
Running without flags.

Я читал эту ветку, но это похоже на компиляцию clang, и я не знаю, применимо ли это также к дополнительным инструментам clang, в частности clang-tidy:
Как скомпилировать Clang на Windows

0

Решение

Просто поставьте — (минус минус) в командной строке в конце

clang-tidy -checks=-*,clang-analyzer-*,-clang-analyzer-cplusplus* test.cpp --

Вы обычно ставите аргументы cl, gcc, clang впоследствии

clang-tidy -checks=-*,clang-analyzer-*,-clang-analyzer-cplusplus* test.cpp -- -DDEBUG -I./include
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector