Как настроить SonarQube Dev Edition для проекта приложения C++ RTP
Я разрабатываю пару проектов C++ Real-Time Process Application для VxWorks 6.9 в Wind River Workbench 3.3. Я хотел интегрировать редакцию SonarQube для получения результатов статического анализа.
VxWorks компилирует приложение с помощью компилятора Wind River GCC 4.3.3, который представляет собой пользовательский вариант GCC для VxWorks. У меня настроены обертка сборки, сонар-сканер и сервер сонара. Я вижу, как проект появляется в SonarQube после успешного выполнения сонар-сканера.
Проблема, с которой я сталкиваюсь, заключается в том, что когда у меня есть, скажем простой файл C++, например:
Я попытался скомпилировать пример сборки-оболочки SonarQube с помощью компилятора VxWorks, просто используя
c++pentium -o main.o main.cpp
и экземпляр SonarQube показывает ошибки.
Я также создал новый проект базового приложения RTP и включил файл main.cpp из SonarQube, и по какой-то причине, когда у меня нет никаких стандартных заголовков библиотеки C++, я получаю ошибки, но когда я #include что-то вроде, я получаю ноль ошибок. Похоже, что build-wrapper или sonar-scanner не могут найти ничего, связанного с C++, или не могут найти ошибки, когда что-то связанное с C++ включено.
main.cpp
#include <iostream>
int main()
{
int arr[2];
for (int i = 0; i < 3; ++i) {
arr[i] = 0;
}
return 0;
}
Команда сборки Workbench
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
1 ответ
В новейшей версии SonarCFamily 6.2 добавлена поддержка флага Wind River VxWorks GCC -mrtp для создания и анализа приложений RTP.