需要准备的安装包:
- sonarqube安装包:sonarqube-10.6.0.92116.zip,地址:Download | SonarQube | Sonar
- sonar-scanner安装包:sonar-scanner-cli-6.1.0.4477-windows-x64.zip,地址:SonarScanner CLI
- jdk:jdk-17_windows-x64_bin.zip(用jdk-22没有跑起来),地址:Java Downloads | Oracle
- postgresql:postgresql-16.3-2-windows-x64.exe,地址:EDB: Open-Source, Enterprise Postgres Database Management
- 汉化包:sonar-l10n-zh-plugin-10.6.jar,参考:C C++最新免费使用SonarQube审查C C++代码_sonarqube c++,含泪整理面经_sonarqube how to support c++-CSDN博客
- cppcheck:cppcheck-2.14.1-x64-Setup.msi
- c++扫描插件:sonar-cxx-plugin-2.1.1.488.jar,地址:Releases · SonarOpenCommunity/sonar-cxx · GitHub
sonarqube、sonarscanner、jdk、postgresql的安装参考:SonarQube部署安装-CSDN博客
c++代码规则配置参考:SonarQube+cppcheck实现C++代码扫描_sonarqube cppcheck-CSDN博客
cppcheck安装、sonar-project.properties的配置参考:免费使用SonarQube审查C/C++代码_sonarqube c++-CSDN博客
cppcheck命令示例:cppcheck --xml --xml-version=2 --enable=all ./ -i depend 2>cppcheck-result.xml
该命令表示输出xml格式,版本号为2,启用当前目录的所有检测,排除depend目录的扫描,扫描的错误结果输出到cppcheck-result.xml文件
需要注意的事项:
- sonarqube-10.6要配套jdk-17使用(自测确认可以),如果用了jdk-22软件会起不来。
- 执行cppcheck命令生成xml时,切记不要使用PowerShell ,它会把每行输出按照自己的窗宽大小截断后另起一行,导致xml文档异常。要使用cmd进行命令执行。