You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu18.04下Vera++生成SonarQube兼容报告遇脚本缺失求助

解决vera++Report2checkstyleReport.perl找不到的问题

是的,你遇到的问题很明确:vera++Report2checkstyleReport.perl不是vera++默认安装包的一部分,它是一个专门用来将vera++的输出转换为SonarQube兼容的Checkstyle格式的配套脚本,需要你单独获取。下面是完整的解决步骤:

步骤1:获取转换脚本

这个脚本通常可以从两个地方获取:

  • 如果你正在使用sonar-cxx插件(从你的命令路径来看确实是),可以在sonar-cxx插件的源码仓库的工具目录中找到它;
  • 或者直接从vera++的官方配套工具资源中获取。

你可以手动创建这个脚本,或者复制对应文件到你的工作目录中(比如你执行命令的目录,或者某个在PATH里的目录)。

步骤2:赋予脚本执行权限

拿到脚本后,先确保它有可执行权限,执行以下命令:

chmod +x vera++Report2checkstyleReport.perl

步骤3:修正你的执行命令

有两个需要注意的地方:

  1. 如果你没有把脚本放到PATH环境变量包含的目录里,需要在命令中指定脚本的完整绝对路径(比如/home/your-user/scripts/vera++Report2checkstyleReport.perl);
  2. 你的find命令正则表达式有问题,当前的"\.cc\|\.hh"会匹配任何包含.cc或.hh的字符串(比如test.cc.txt也会被匹配),应该修改为匹配文件后缀的正则:"\.(cc|hh)$"。

修正后的完整命令示例(假设脚本放在当前目录):

bash -c 'find src -regex "\.(cc|hh)$" | vera++ - -showrules -nodup 2>&1 | ./vera++Report2checkstyleReport.perl > /sonar-test/valgrind-test/sonar-cxx/sonar-cxx-plugin/src/samples/SampleProject2/build/vera++-report.xml'

额外注意事项

  • 确保你的Ubuntu系统已经安装了Perl,执行sudo apt update && sudo apt install perl即可完成安装;
  • 验证vera++是否正常工作:执行vera++ --version确认版本是1.2.1;
  • 如果转换后的报告还是有问题,可以检查vera的输出是否正常,先去掉管道到脚本的部分,直接查看vera的输出是否符合预期。

内容的提问来源于stack exchange,提问作者user4948798

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 16:28:14