当我想在Clang StaticAnalyzer中添加一个新的检查器时,我应该重新编译所有的clang项目吗?

时间:2018-03-16 12:33:25

标签: llvm-clang clang-static-analyzer

我按照 Checker Registration 部分中的步骤操作 在manual page of clang static analyzer中一个接一个,无法从命令输出中找到我的检查器

clang -cc1 -help | grep "analyzer"

所以,我想知道是否应该重新编译整个项目?这是一项繁重的工作,我需要几个小时来编译它。

1 个答案:

答案 0 :(得分:1)

编译llvm / clang时,您应该使用ninjamake之类的构建系统。构建系统自动决定哪些部分需要重新编译,哪些部分不需要重新编译。

例如,如果您按照构建clang here的步骤操作,则步骤7表示运行以下命令:

mkdir build (in-tree build is not supported)
cd build
cmake -G "Unix Makefiles" ../llvm
make

从那时起,每次进行更改时,只需要从build文件夹重新运行make命令,make将自动编译需要重新编译的任何内容。

如果你想要稍微快一点的重新编译时间,你可以安装忍者构建系统,并在第一次构建项目时使用cmake -G "Ninja" ../llvm并从那时起使用ninja命令而不是make