gpt4 book ai didi

googletest - 如何告诉 Cppcheck 跳过头文件

转载 作者:行者123 更新时间:2023-12-03 20:16:01 24 4
gpt4 key购买 nike

Cppcheck 扫描项目文件夹中的所有文件:

c:\projectfolder\main.c
c:\projectfolder\file.c
c:\projectfolder\file.h
c:\projectfolder\file_test.cc
c:\projectfolder\file_test.cc 包含以下代码
#include "c:/gtest/gtest.h"

extern "C"
{
#include "TMyStruct.h"
}

TEST(Stack, Overflow)
{
TMyStruct unterTest;
EXPECT_EQ(1, TMyStruct_Init(&unterTest));
EXPECT_GE(unterTest.variable, 9000);
}

文件 file_test.cc 包括 gtest.h 文件
C:\gtest\gtest.h

不应测试 C:\gtest\中的所有文件。

我打电话
cppcheck.exe -ic:\gtest\ c:\projectfolder\ --enable=style --template="SomeError"

在来自包含的 c:\projectfolder\file_test.ccgtest.h 中发现并报告错误(详细信息:“#ifdef 配置太多”)。

我如何告诉 Cppcheck 根本不看 C:\gtest\gtest.h

最佳答案

我的项目结构如下所示:

├── build
├── lib
│ └── dep
│ └── dep.h
├── src
│ ├── code.c
│ └── code.h
└── tests
└── code_test.c

为了抑制 lib 包含的警告,我这样做了:
cppcheck --enable=all --suppress='*:lib/*' -Isrc -Itests ./src ./tests 1>/dev/null

也许这应该适用于 Windows:
cppcheck.exe --suppress='*:c:\gtest\*' c:\projectfolder\

我的 Cppcheck 版本是 1.74。

引用:

Allow ignoring results from header files

关于googletest - 如何告诉 Cppcheck 跳过头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13591696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com