我正在尝试使用 clang-tidy 代码分析,以便检查 CppCoreGuidelines。我下载了用于 Win 7 64 位的 LLVM 7.0.0 预构建二进制文件。我能够用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 时,当我运行它时,我得到以下输出,我从这里获取了参考Extra 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: 如何在Windows上编译Clang