2013-06-06 1 views
14

Sto cercando di utilizzare il sonar per l'analisi statica su un codice C++. Ho installato sonar e configurato il mio progetto (appare sulla pagina sonar localhost, ma non vedo alcuna violazione di codice per il rispettivo codice). Ho installato il plugin per la comunità C++.Come eseguire l'analisi del sonar per C++?

miei sonar-project.properties aspetto:

# 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 

non ottengo alcun errore durante l'esecuzione del sonar-runner da cmd.

Se eseguo manualmente lo strumento cppcheck.exe sul mio progetto, riesco a trovare le violazioni. Perché le violazioni non compaiono sulla pagina del sonar? C'è qualcos'altro che dovrei configurare, sto facendo qualcosa di sbagliato?

+0

Avevo anche provato i consigli da: http://sonar.15.x6.nabble.com/100-Rules-Compliance-with-C-project-td5008127.html (ma non ero in grado di fare funziona) –

risposta

4

ero in grado di farlo funzionare eseguendo lo strumento cppcheck in modo indipendente prima Sonnar-runner, e mettendo il XML generato rapporto nella cartella bin di sonnar-runner.

Nel file sonar-project.properties ho specificato il xml direttamente: sonar.cxx.cppcheck.reportPath = cppcheck-risultato-1.xml

-2

Il codice lingua del plug-in Sonar C++ Community non è 'C++' ma 'cxx'. Vedi http://docs.codehaus.org/pages/viewpage.action?pageId=185073817.

Quindi è necessario sostituire 'sonar.language = C++' da 'sonar.language = cxx'

+0

Questo non funziona. Ricevo l'errore: Causato da: È necessario installare un plug-in che supporti la lingua 'cxx' che non è presente quando si usa C++ come lingua. –

2

Ho avuto un problema simile, che è stato causato da uno spazio bianco dopo "sonar.language = cs". Assicurati che vi sia un interruzione di riga immediatamente dopo "cxx". Spero funzioni.