0

我正在 Wind River Workbench 3.3 中为 VxWorks 6.9 开发几个或 C++ Real-Time Process Application 项目。我想集成 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++ 相关的内容时无法找到错误。

主文件

#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

声纳-project.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
4

1 回答 1

0

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

于 2019-04-15T15:33:08.877 回答