views:

1109

answers:

3

Is there any way to enable Prefast in Visual Studio 2008 Professional addition?

I am trying to compile native c++ code.

I have tried following things,

  1. Downloaded Windows SDK
  2. Set compiler's Bin / Include / Lib paths to the SDK.
  3. Added additional option for c/c++ compilation (/Analyze:WX-)

I believe these steps should have set the appropriate compiler to do static analysis using prefast. This setting actually worked with Visual Studio 2005. However it does not work with Visual Studio 2008.

It always gives two problems

  1. LINK : warning LNK4044: unrecognized option '/MANIFESTUAC:level='asInvoker' uiAccess='false''; ignored
  2. fatal error LNK1103: debugging information corrupt; recompile module

Reason for 1, I believe, is Windows SDK do not identify /MANIFESTUAC option. This has been introduced with Visual Studio 2008. Reason for 2, no idea :).

Any idea / suggestions / pointers are most welcome.

+2  A: 

VS 2008 has a built-in code analysis (FxCop and PREfast). You can turn it on at Project->Properties->Configuration Properties->C/C++->Advanced->Enable Code Analysis For C/C++ on Build.

Then you can try to compile some examples from PREfast and see warnings.

Good luck!

EDIT: Professional edition has no such option :(

Sergius
VS2008 'Professional' doesn't have the option.
Benjamin
You are right, then you need to install SDK, switch VS to the SDK compiler and use /analyze option.
Sergius
A: 

Code Analysis works for VS C ++ Express, but for visual studio ... I can not find it ... VS C++ Express and VS have some differences.

Cmptrb
+1  A: 

You don't need to use Prefast separately. Visual C++ Prefast is accessed using the /analyze compiler switch.

zumalifeguard