VC 2010 Express vs Win SDK 7.1 RRS feed

  • General discussion

  • I'm building on Win XP SP3, 32-bit.

    I have two sets of needs.  A) I have some small Windows projects I build with VC++ 2010 Express, which installed (first) the SDK v7.0A, and B) some command-line builds (and with other IDE's) for which I want to use Windows SDK 7.1.

    1) Are the compilers really the same?  The web installer for SDK 7.1 sees the 7.0A compiler and decides not to install a new and different compiler.

    The compiler I have is:

    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86

    This is installed in:C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.exe

    And the date is the earlier date of the VC++ 2010 install.  So the web installer didn't do anything new.

    2) Is this the latest optimizing compiler I can get with a windows sdk?  

    3) So I can just use msbuild and nmake and so forth and get an optimized command line build?

    4) When I use the setup\windowssdkver, it complains, fatally, that  I don't have VS2008.  This is true.  The straight command-line version doesn't complain.  Or say anything.

    5) Do I have to un-install VC++ 2010 Express to get the latest SDK compiler?


    Sunday, January 16, 2011 3:44 PM

All replies

  • 1 SDK and Visual Studio ship with the current version of Visual C++ compiler at their release time. The version shipped with VC10 and Windows SDK 7.1 are the same.

    2 The VC10 compiler is the latest, that is, until VS2010 SP1 or a newer version of Windows SDK come out.

    3 Yes the VC IDE calls the same compiler with switch visible in the project's compiler options. You can just open the project file and copy the command line switch or read the command line switch documentation of cl.exe.

    4 the Windows SDK configuration tool does not support VC2010 or VC Express.

    There are some problems with the SDK headers (missing sal.h for example). You may want to keep VC Express for that.

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Sunday, January 16, 2011 5:05 PM
  • Ah, since I don't want to alter the VC++ Express configuration I don't even need the Windows SDK configuration tool.  I think I see it now.



    Sunday, January 16, 2011 7:30 PM
  • Sheng:

    Sal.h isn't missing from the SDK. To get sal.h in the sdk you must install the compilers then you will find it in the include directory for the compilers, not the include directory for the SDK.


    The way you use the SDK in VS2010 is throught the VC project property pages. If you go to Project Properties->Configuration Properties->General you will find a Platform Toolset option. The SDK adds an option to this named Windows7.1SDK. If you select this then it will use the 7.1 SDK headers and libs and not the 7.0A headers and libs.

    Any samples given are not meant to have error checking or show best practices. They are meant to just illustrate a point. I may also give inefficient code or introduce some problems to discourage copy/paste coding. This is because the major point of my posts is to aid in the learning process.
    Visit my (not very good) blog at
    Monday, January 17, 2011 3:21 AM