我正在使用 cppcheck 1.64 的 GUI 版本对 C++-Builde-6 代码进行静态代码分析。对于 DLL 导出和导入,定义PACKAGE
是必要的:
/// A dialog exported from a BPL (a VCL-specific kind of DLL)
class PACKAGE MySharedDialog {
public:
// lots of methods to-be checked
private:
// lots of methods to-be checked
// lots of members
};
cppcheck遇到就停止,PACKAGE
因为不知道是什么意思:
未处理代码“class PACKAGE TAppInfoDialog {”。您可以使用 -I 或 --include 添加对此代码的处理。
...这当然意味着整个班级都没有被检查。如果我可以让 cppcheck简单地忽略PACKAGE
“关键字”,它会做完全正确的事情,但怎么做呢?通过包含路径包含其原始定义似乎不是一个选项:cppcheck 然后告诉我很多关于VCL 框架的标头的信息,我无法更改...
该手册没有描述这样做的选项,谷歌没有帮助,所以还没有答案。
在 cppcheck 问题跟踪器中,我发现了类似的问题#4707(Microsoft 'abstract' and 'sealed' extension for class)—— cppcheck。在这里,主要开发人员建议创建一个文件并(预先?)将其包含到 cppcheck 运行中,但我使用的是 GUI 版本,并且没有包含单个文件的选项。所以我尝试在我的项目选项的 include 部分(一个 XML 文件)中添加一个 director,然后我将相应的行编辑为一个文件规范,但这显然是无稽之谈,因为该部分包含包含路径。
接下来我可以尝试什么?