Sonar+cppCheck+cxxPlugin:实现C++检索

Sonar+cppCheck+cxxPlugin:实现C++检索

注:配置文件中尽量不要写中文,避免不必要的麻烦。

一、配置清单

openjdk11

sonarqube-7.6(用9.2版,在新增cxx插件后启动报错,遂改用此版本)

SonarQube Scanner 4.2.0.1873

cppcheck-2.6

sonar-cxx-plugin-1.3.2.1853

二、sonarqube服务器安装

sonarqube服务器安装较为简单,只需下载解压后(注意各版本对应的jdk版本),到对应操作系统下执行启动脚本即可启动服务。

官网地址:

https://www.sonarqube.org/downloads/

三、 SonarQube Scanner安装

同sonarqube服务器,下载解压后配置scanner.properties

sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql:/**********:3306/mydatabase?useUnicode=true&characterEncoding=utf8

配置环境变量:

export PATH=$PATH:/usr/local/sonar-scanner/bin

官网地址:

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

四、cppcheck安装

下载源码包,解压后进入cppcheck所在目录,进行编译安装

$ make 
$ sudo make install

有可能会报错找不到FILESDIR等,可打开目录下的Makefile文件,将其写死:

export FILESDIR=/
export DESTDIR=/
export PREFIX=usr

同样需要配置环境变量

export CPPCHECK_HOME=/home/qiucx/Downloads/cppcheck-2.6

下载地址

http://cppcheck.net

也可用apt源一键安装(没尝试,看官可尝试一下。据说无需编译安装,自动配置环境变量)

sudo apt install cppcheck

五、添加sonar-cxx-plugin

直接下载jar包,放至SonarQube下的/extensions/plugins目录。重启SonarQube服务后能看到c++相关信息。

下载地址

Releases · SonarOpenCommunity/sonar-cxx

六、扫描配置

在需要扫描的项目路径下创建并配置sonar-project.properties文件:

sonar.projectKey=testCpp
sonar.projectName=testCpp
sonar.projectVersion=master 
sonar.sources=./
sonar.language=c++
sonar.sourceEncoding=UTF-8
sonar.my.property=value 
sonar.java.binaries=target/squash-java-1.0.0-SNAPSHOT.jar
sonar.cxx.cppcheck.reportPath=cppcheck-result.xml
soanr.cxx.includeDirectories=/

注意尽量不要写中文,防止不必要的错误。

执行扫描即可获得结果。

sonar-scanner   -Dsonar.projectKey=testCpp   -Dsonar.sources=.   -Dsonar.host.url=http://localhost:9000   -Dsonar.login=4f054fadd0cc1a0c93aafcff5f90d61122547763

规则
在这里插入图片描述
扫描结果
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值