web-dev-qa-db-ja.com

C ++のソナー分析を機能させる方法は?

私はc ++コードの静的分析にソナーを使用しようとしています。ソナーをインストールしてプロジェクトを構成しました(ローカルホストのソナーページに表示されますが、それぞれのコードのコード違反は見られません)。 C++コミュニティプラグインをインストールしています。

私のsonar-project.propertiesは次のようになります。

# required metadata
sonar.projectKey=DiceInvaders
sonar.projectName=Dice Invaders
sonar.projectVersion=1.0

# optional description
sonar.projectDescription=DiceInvaders by CS

# path to source directories (required)
sonar.sources=D:\\DiceInvaders\\Code

# path to test source directories (optional)
#sonar.tests=D:\\DiceInvaders\\Code

# path to project binaries (optional), for example directory of Java bytecode
#sonar.binaries=binDir

# optional comma-separated list of paths to libraries. Only path to JAR file is supported.
#sonar.libraries=path/to/library/*.jar,path/to/specific/library/myLibrary.jar,parent/*/*.jar

# The value of the property must be the key of the language.
sonar.language=c++
sonar.exclusions=**/*.ipch, **/**/*.rc
sonar.cxx.cppcheck.path = "C:\Program Files (x86)\Cppcheck\cppcheck.exe"
sonar.cxx.cppcheck.reportPath="D:\DiceInvaders\Code\cppcheck-reports\cppcheck.xml". 

# Additional parameters
#sonar.my.property=value

Cmdからsonar-runnerを実行してもエラーは発生しません。

プロジェクトでcppcheck.exeツールを手動で実行すると、違反を見つけることができます。ソナーのページに違反が表示されないのはなぜですか?他に設定する必要があるものはありますか、何か間違ったことをしていますか?

16
Catalin STAICU

Sonnar-runnerの前にcppcheckツールを個別に実行し、生成されたxmlレポートをsonnar-runnerのbinフォルダーに配置することで、これを機能させることができました。

Sonar-project.propertiesファイルで、xmlを直接指定しました:sonar.cxx.cppcheck.reportPath = cppcheck-result-1.xml

6
Catalin STAICU

'sonar.language = cs'の後の空白が原因で同様の問題が発生しました。 'cxx'の直後に改行があることを確認してください。それがうまくいくことを願っています。