Как настроить SonarQube Dev Edition для проекта приложения C ++ RTP - PullRequest
0 голосов
/ 11 апреля 2019

Я разрабатываю пару проектов 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 Ответ

0 голосов
/ 15 апреля 2019

В новейшей версии SonarCFamily 6.2 добавлена ​​поддержка флага Wind River VxWorks GCC -mrtp для создания и анализа приложений RTP.

...