【发布时间】: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