我正在编译一个相当大的库,其中包含许多外部依赖项,我需要将这些依赖项拉入。每次我尝试编译时,我都会得到一个关于缺少头文件的新错误。然后,我必须找到在哪里可以找到头/库,并将其添加到项目包含中。这个编译-然后查找-头/源的过程是重复的,并且需要大量的时间。
我希望编译器继续尝试在一个错误列表中构建和输出所有缺少的头文件。使用Clang可以做到这一点吗?如果可以,我如何控制它?在相关的注释中,一旦我有了所有的头文件,是否可以告诉Clang报告所有链接器错误/未定义的引用,这样我就不必对源文件重复这个过程?
我正在寻找编译器标志,以打印出所有可能的错误(缺失头)和所有未定义的引用。换句话说,我希望编译继续传递给第一个有错误的文件,并尝试编译项目中的所有文件。编译器是Clang (C/C++)版本8.0.2。make工具是忍者(1.5.3)。Make文件由CMake (3.6.4)生成。
更新:回过头来看,我最初的问题是在错误的工具中寻求解决方案。我需要传递一个旗帜给我的make工具,忍者,而不是传递一个旗帜给Clang。
发布于 2019-11-23 16:50:06
来自ninja --help
-k N keep going until N jobs fail [default=1]所以我会像这样运行忍者命令:
ninja -k 100继续执行,直到发现100个错误或生成成功。要注意的一件事是,如果错误文件是继续构建过程所必需的,则某些错误可能会停止整个构建。
https://stackoverflow.com/questions/58920832
复制相似问题