16

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 ツールを手動で実行すると、違反を見つけることができます。ソナーのページに違反が表示されないのはなぜですか? 他に設定する必要があるものはありますか、何か間違っていますか?

4

3 に答える 3

6

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

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

于 2013-06-10T13:25:53.027 に答える
2

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

于 2013-06-19T13:13:35.550 に答える