【问题标题】:How To Configure SonarQube Dev Edition For a C++ RTP Application Project如何为 C++ RTP 应用程序项目配置 SonarQube 开发版
【发布时间】:2019-04-11 14:25:36
【问题描述】:

我正在 Wind River Workbench 3.3 中为 VxWorks 6.9 开发几个或 C++ 实时流程应用程序项目。我想集成 SonarQube 开发者版来获得静态分析结果。

VxWorks 使用 Wind River GCC 4.3.3 编译器编译应用程序,这是 VxWorks 的自定义 GCC 风格。我配置了构建包装器、声纳扫描器和声纳服务器。成功执行声纳扫描器后,我可以看到项目出现在 SonarQube 中。

我遇到的问题是,当我有时,说一个简单的 C++ 文件,如下所示:

我尝试使用 VxWorks 编译器编译 SonarQube 提供的 build-wrapper 示例

c++pentium -o main.o main.cpp

SonarQube 实例显示了错误。

我还创建了一个新的基础 RTP 应用程序项目并包含来自 SonarQube 的 main.cpp 文件,由于某种原因,当我没有任何 C++ 标准库头文件时,我会遇到错误,但是当我 #include 类似我得到零错误。似乎构建包装器或声纳扫描器找不到任何与 C++ 相关的内容,或者在包含任何与 C++ 相关的内容时无法找到错误。

main.cpp

#include <iostream>

int main()
{
    int arr[2];

    for (int i = 0; i < 3; ++i) {
        arr[i] = 0;
    }

    return 0;
}

工作台构建命令

build-wrapper-win-x86-64 --out-dir bw_output %makeprefix% make --no-print-directory

声纳项目.properties

sonar.projectKey=myFirstSonarQubeProject
sonar.projectName=My First C++ SonarQube Project
sonar.projectVersion=1.0
sonar.sources=.
sonar.cfamily.build-wrapper-output=COREgnu_LP64_RTP/bw_output
sonar.sourceEncoding=UTF-8

【问题讨论】:

  • 我一直在解决这个问题。似乎声纳扫描仪无法识别 Wind River VxWorks GCC 4.3.3 的 -mrtp 标志。有谁知道如何让声纳扫描仪识别 mrtp 标志?这是它的描述:gcc.gnu.org/onlinedocs/gcc/VxWorks-Options.html

标签: c++ sonarqube vxworks sonarscanner wind-river-workbench


【解决方案1】:

最新版本的 SonarCFamily 6.2 增加了对 Wind River VxWorks GCC -mrtp 标志的支持,以构建和分析 RTP 应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 2019-08-13
    • 1970-01-01
    • 2019-07-22
    • 2015-07-11
    • 2016-06-21
    相关资源
    最近更新 更多