c++ - SonarQube Visual Studio 2013 C++ 插件

标签 c++ visual-studio-2013 msbuild teamcity sonarqube

我有以下设置...

  • TeamCity 7.1.5
  • Visual Studio 2013
  • SonarQube 3.7.4
  • SonarQube C++ 社区插件 0.9.1

我们有许多 Visual Studio C++ 解决方案/项目。它们都通过 TeamCity 成功处理 - 编译、单元测试、Nuget 包生成等。我现在正在尝试使用 C++ 社区插件添加这些项目的 Sonar 分析。

现在我明白插件本身不执行任何分析,必须单独完成,插件只导入结果。该插件能够成功识别并导入所有源文件,我可以看到它们列在 SonarQube 仪表板中。 实际构建和分析是通过 Visual Studio/Visual C++ 编译器使用 MSBuild 完成的。我通过 MSBuild 启用了代码分析,我可以看到它正在生成问题列表。但是,我无法让 SonarQube 导入该问题列表。

对于 MSBuild 命令,我使用以下参数...

/t:Build 
/p:Configuration=Debug 
/p:RunCodeAnalysis=True;CodeAnalysisRuleSet=AllRules.ruleset;verbosity=normal 
/filelogger
/flp:verbosity=diagnostic

我已确认正在生成 MSBuild.log 文件,并且正在查找问题。

Sonar-Runner 步骤有以下选项...

-Dsonar.language=c++ 
-Dsonar.projectKey=MYProject 
-Dsonar.projectName=MYProject 
-Dsonar.projectVersion=0.0.1 
-Dsonar.sources=Src 
-Dsonar.cxx.compiler.reportPath=*.log 
-Dsonar.cxx.compiler.charset=UTF-8 
-Dsonar.exclusions=**/packages/**/* 
-Dsonar.cxx.includeDirectories=Src/Packages "
-Dsonar.cxx.compiler.parser='Visual C++'"

我也尝试过使用 -Dsonar.cxx.compiler.reportPath=MSbuild.log

Sonar 似乎运行良好,但只是没有发现代码分析问题。

任何人都可以建议我可能做错了什么,或者还可以尝试什么。

如有任何帮助,我们将不胜感激。

感谢和问候,

RG

最佳答案

尝试 plugin 的最新版本并确保在您的配置文件中启用所有与编译器相关的规则。并检查您的编译构建日志,如果路径是相对的,您需要将/Fcflags传递给 compilation

关于c++ - SonarQube Visual Studio 2013 C++ 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271629/

相关文章:

c++ - 什么是形式参数?

c# - 如何将 MySql 的返回数据分配给 C# 变量?

c# - 在构建过程中运行 c# 控制台应用程序

visual-studio-2013 - Visual Studio 2013 团队项目已被删除

c# - 在哪里可以找到 MSBuild 14.0 x64

c# - dotnet 和 msbuild 中的包之间的区别

c++ - 从文件中读取单词并在 C++ 中遇到某个单词时打印

c++ - Xcode 与 Visual Studio : Difference in runtime for compiled C++ programs

c++ - 按值传递类时,调用者或被调用者是否调用析构函数?

vb.net - 为什么编译器在生成时不出错?