-1

我正在尝试运行 Splint 来分析 C 存储库(在本例中为 sudo 命令的源代码),但无法让 Splint 自行查找单个文件的标头。在这种情况下,生成的头文件“config.h”位于项目的根文件夹中。我添加了项目根文件夹的包含路径和项目的“包含”文件夹(大多数头文件所在的位置)。下面我添加了一个屏幕截图,显示头文件确实位于项目的根目录中,并且随后的错误表明在包含该目录的路径中找不到头文件。

夹板未找到包含路径中的标头:

我的问题的另一部分也可能有点难以回答。我在这里找到了在单个文件上运行 Splint 的人的示例,但在诸如此类的完整项目上却没有。在有人用一个好的 'ol RTFM 打我之前,我已经通读了操作部分、“完整程序”部分和附录 B,其中说明了 Splint 支持的每个标志,但我在任何地方都找不到指示我如何运行 Splint 的东西在一个完整的项目上。如果我忽略了它,我会感谢任何发现它的人。(是任何有兴趣的人的手册!)

4

1 回答 1

0

注意:通常您一次只能发布一个问题。请下次这样做。

第1部分

尝试单独添加每个目录:

-I"$(pwd)" -I"$(pwd)/include"

第2部分

请参阅手册第 13.2 节。有两个相关选项,topusepartial

于 2020-10-11T08:45:22.093 回答