我正在Wind Wind Workbench 3.3中为VxWorks 6.9开发几个或C ++实时过程应用程序项目。我想集成SonarQube开发人员版以获得静态分析结果。
VxWorks使用Wind River GCC 4.3.3编译器编译应用程序,这是GCC for VxWorks的自定义样式。我已经配置了构建包装器,声纳扫描仪和声纳服务器。成功执行声纳扫描仪后,我可以看到该项目出现在SonarQube中。
我遇到的问题是,当我拥有一个简单的C ++文件时,如下所示:
我尝试仅使用
来编译SonarQube提供的VxWorks编译器提供的构建包装器示例。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
sonar-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
答案 0 :(得分:0)
SonarCFamily的最新版本6.2增加了对Wind River VxWorks GCC -mrtp标志的支持,以构建和分析RTP应用程序。