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