Search code examples
c++qtvisual-c++static-analysisvisual-c++-2010

How do I exclude library headers from my Visual Studio static code analysis?


I have setup buildbot to compile my Qt/C++ application with the /analyze flag.

However the analysis is also delving into the qt headers which I don't care about:

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

Whats the best way to exclude these files en mass?

(Please note I am not using the IDE, I am looking for a command line, switch or code change)


Solution

  • You can disable all code analysis warnings for a particular block of code using #pragma warning in your code. MSDN provides the following example:

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

    (See "How to: Enable and Disable Code Analysis for Specific C/C++ Warnings" for more information.)

    To the best of my knowledge, there is no way to disable warnings from particular header files using only command line options.