2012-04-17 12 views
7

Ho installato buildbot per compilare la mia applicazione Qt/C++ con il flag/analyze.Come escludere le intestazioni di libreria dall'analisi del codice statico di Visual Studio?

Tuttavia, l'analisi è anche approfondendo le intestazioni qt che non mi preoccupo:

c:\qt\qt-everywhere-opensource-src-4.8.1\src\corelib\tools\qvector.h(547) : warning C6011: Dereferencing NULL pointer 'x.p': Lines: 474, 475, 476, 477, 478, 480, 491, 493, 497, 498, 499, 500, 503, 504, 518, 519, 520, 521, 522, 525, 545, 547 

cosa è il modo migliore per escludere questi file in massa?

(Si prega di notare che non sto usando l'IDE, sto cercando una riga di comando, l'interruttore o il codice di cambiamento)

+0

Possibile duplicato di [Come sopprimere gli avvisi nelle intestazioni esterne in Visual C++] (http://stackoverflow.com/questions/2541984/how-to-suppress-warnings-in-external-headers-in-visual-c) – cambunctious

risposta

8

è possibile disattivare tutte le avvertenze di analisi del codice per un particolare blocco di codice utilizzando #pragma warning nel codice. MSDN fornisce il seguente esempio:

#include <codeanalysis\warnings.h> 
#pragma warning(push) 
#pragma warning (disable : ALL_CODE_ANALYSIS_WARNINGS) 
#include <third-party include files here> 
#pragma warning(pop) 

(. Vedi "How to: Enable and Disable Code Analysis for Specific C/C++ Warnings" per maggiori informazioni)

Per quanto a mia conoscenza, non v'è alcun modo per disattivare gli avvisi di particolari file di intestazione utilizzando solo le opzioni della riga di comando.

Problemi correlati