在Clang中产生所有可能的错误

问题描述 投票:0回答:2

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

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

我正在寻找编译器标志,以打印出所有可能的错误(缺少标头)和所有未定义的引用。编译器为Clang(C / C ++)版本8.0.2。

c++ c clang clang++ llvm-clang
2个回答
0
投票

您的问题的解决方案:不要编写头文件。让计算机为您完成。 HIPP博士(分别编写SQLITE和FOSSIL)编写了一个名为makeheaders http://www.hwaci.com/sw/mkhdr/的实用程序,它可以很好地工作,使您的工作效率更高,我一直在使用它。一小拳为您做这一切:

for i in *.c 
do
echo "header for $i"
makeheaders $i

如果文件为:main.c,则只需在顶行#include“ main.h”。我不明白为什么人们不使用它。 HIPP是个天才。使它成为构建过程的一部分,并在每次编译时生成。


0
投票

如果项目是使用make构建的,那么您只需使用make -kk的意思是“继续前进;不要在第一个错误上停下来;尽可能多地构建依赖树”)。 >

© www.soinside.com 2019 - 2024. All rights reserved.