我用的软件版本如下:
SonarQube: 4.4
sonar-runner:2.4
sonar-cxx-plugin-0.9.1.jar(开源的C++分析插件)
数据库使用的是mysql
自己写了个VC++测试工程,代码很简单,如下:
#include "stdafx.h"
int main(int argc, char* argv[])
{
printf("Hello World!\n");
int a = 1;
printf("helloworld!");
return 0;
}
\sonarqube-4.4\conf目录下的sonar.properties文件配置如下:
sonar.jdbc.username=root
sonar.jdbc.password=root
#----- MySQL 5.x
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
sonar.jdbc.driverClassName:com.mysql.jdbc.Driver
\sonar-runner-2.4\conf目录下的sonar-runner.properties文件配置如下:
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
#----- Security (when 'sonar.forceAuthentication' is set to 'true')
sonar.login=admin
sonar.password=admin
在工程目录下新建了sonar-project.properties文件,配置如下:
sonar.projectKey=SampleProject.key
sonar.projectName=SampleProject
sonar.projectVersion=2.0
sonar.sources=.\
sonar.sourceEncoding=UTF-8
sonar.language=c++
完成后,使用cmd命令行进入工程目录下,然后使用sonar-runner命令进行分析,结果提示分析成功。
然后在IE9.0浏览器中输入http://localhost:9000进行访问SonarQube服务器。看到的效果界面如下:
我很好奇,为什么检测不出问题。我不知道哪里出现问题了,请各位大牛能给予帮助。万分感谢。
这个插件只是分析已经生成的报告,并非去检查代码,比如配置的规则中有cppcheck库的,那么运行sonar-runner时只会读取你用cppcheck检查后生成的问题报告######
我也遇到过同样的问题,我是这样解决的:
1、要先安装cppcheck工具。安装命令如下:
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
make install CFGDIR=/usr/bin/cfg
2、在需要分析的项目里面执行“
cppcheck -j 1 --enable=all --xml ./src/* 1>cppcheck-result-1.xml 2>&1”生成一个xml文件
3、编辑sonar-project.properties配置文件,加入
sonar.cxx.cppcheck.reportPath=cppcheck-result-1.xml
sonar.cxx.includeDirectories=/usr/include/
4、最后执行sonar-runner 分析。
但是我觉得使用cppcheck插件分析的结果不够好,请教一下各位高手,还有没有更好的解决方法。
另外 Valgrind /PC-lint/RATS /Vera++ 等插件要怎么与sonarqube使用?
我也遇到过同样的问题,我是这样解决的:
1、要先安装cppcheck工具。安装命令如下:
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
make install CFGDIR=/usr/bin/cfg
2、在需要分析的项目里面执行“
cppcheck -j 1 --enable=all --xml ./src/* 1>cppcheck-result-1.xml 2>&1”生成一个xml文件
3、编辑sonar-project.properties配置文件,加入
sonar.cxx.cppcheck.reportPath=cppcheck-result-1.xml
sonar.cxx.includeDirectories=/usr/include/
4、最后执行sonar-runner 分析。
但是我觉得使用cppcheck插件分析的结果不够好,请教一下各位高手,还有没有更好的解决方法。
另外 Valgrind /PC-lint/RATS /Vera++ 等插件要怎么与sonarqube使用?
@mm3b712看了demo项目,也是引用下面的参数sonar.cxx.cppcheck.reportPath=build/cppcheck-report.xml
sonar.cxx.pclint.reportPath=build/pclint-report.xml
sonar.cxx.coverage.reportPath=build/gcovr-report*.xmlmake SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
make install CFGDIR=/usr/bin/cfg
通过这两句 看着像Linux系统下,请问windows系统下该怎么办,我也遇到了同样的问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。