使用Clang / Ninja产生所有可能的错误

我正在编译一个相当大的库,其中包含许多我需要引入的外部依赖项。每次尝试编译时,都会收到有关缺少的头文件的新错误。然后,我必须走到哪里找到该标题/库,并将其添加到项目包含的位置。重复此过程,然后再查找标题/源,并且花费大量时间。

我希望编译器继续尝试在一个错误列表中构建和输出所有缺少的标头。使用Clang是否可以实现,如果可以,我如何控制它?在相关说明中,一旦我有了所有标头,就可以告诉Clang报告所有链接器错误/未定义的引用,因此我不必对源文件重复此过程吗?

我正在寻找编译器标志以打印出所有可能的错误(缺少标头)和所有未定义的引用。换句话说,我希望编译继续传递有错误的第一个文件,并尝试编译项目中的所有文件。编译器是Clang(C / C ++)版本8.0.2。制作工具是忍者(1.5.3)。 Make文件是使用CMake(3.6.4)生成的。

更新: 回顾过去,我最初的问题是寻求使用错误工具的解决方案。除了将标志传递给Clang之外,我还需要将标志传递给我的制作工具Ninja。

shuaikai006 回答:使用Clang / Ninja产生所有可能的错误

来自ninja --help

-k N     keep going until N jobs fail [default=1]

所以我会像这样运行忍者命令:

ninja -k 100

继续操作,直到找到100个错误或构建成功为止。要注意的一件事是,如果必须使用错误的文件来继续构建过程,则某些错误可能会停止整个构建。

本文链接:https://www.f2er.com/3078670.html

大家都在问