使用 SonarQube 分析多平台代码

Analyzing Multi-Platform Code with SonarQube

我想使用 SonarQube 对为多个平台(Linux 和 Windows)编译的 C++ 应用程序执行静态分析。大部分代码是相同的,但根据目标平台的不同,ifdef/ifndef 可能会包含或排除某些代码。

因此,我的假设是在为每个平台编译时需要执行分析。这是一个正确的假设吗?或者 SonarQube 是否足够聪明,可以在 ifdef/ifndef 块中找到被编译器忽略的问题?

如果我需要在每个平台上进行分析,我可以在每个平台上进行分析,但将结果发布到一个 SonarQube 项目吗?

这里有2个问题:

1) 我需要进行 2 次分析吗?假设您使用的是 SonarCFamily,答案是 "yes"。 SonarCFamily 是 Developer Edition($)

的一部分

2) 我可以在每个平台上执行分析但只有 1 个项目吗?是和不是。每个分析都会产生一个单独的项目,但您可以将它们组合成一个元项目,称为应用程序。应用程序作为 Enterprise Edition($) 的一部分提供。企业版包含开发者版的所有功能。