Building Applications that Use the Windows SDK

This document describes how to use either the Windows SDK Command Prompt window or Visual Studio to configure application build settings for use with native code projects and managed code projects. It also describes how to upgrade Visual C++ projects that use the .vcproj file format so that they can use MSBuild.

The Windows SDK for Windows 7 and the .NET Framework 4 (later referred to as the Windows SDK) includes compilers that let you build Visual C++, Visual C#, and Visual Basic applications. You can use these compilers directly or use the nmake tool to use these compilers from a makefile. You can also use MSBuild to build Visual C++ (.vcxproj), Visual C# (.csproj) and Visual Basic (.vbproj) projects or Visual Studio solutions (.sln).

The following table provides links to more information about how to use the compilers and build tools to create Visual C++, Visual C#, and Visual Basic applications.

Link

Description

MSBuild

Describes the Microsoft Build Engine (MSBuild) and how to use it to build projects and solutions.

Walkthrough: Compiling a Native C++ Program on the Command Line (C++)

Demonstrates how to use the Visual C++ compiler, cl.exe, to compile a Visual C++ application.

Command-line Building With csc.exe

Describes how to use the Visual C# compiler, csc.exe, to compile Visual C# applications.

How to: Invoke the Command-Line Compiler (Visual Basic)

Describes how to use the Visual Basic compiler, vbc.exe, to compile Visual Basic applications.

NMAKE Reference

Describes makefiles and the nmake tool.

Configuring the Windows SDK Command Prompt Window

If you do not have Visual Studio 2010, you can use the Windows SDK Command Prompt window and the SetEnv utility to configure your application build settings. The SetEnv utility lets you build applications for a specific operating system and computer architecture. The default settings target the operating system on which the Windows SDK is installed.

To open the Windows SDK Command Prompt window, click Start, then All Programs, then Microsoft Windows SDK v7.1, and then Windows SDK 7.1 Command Prompt. At the command prompt, run the SetEnv utility to configure the build environment for a specific operating system, computing architecture, or build configuration. The SetEnv utility uses the following syntax:

SetEnv.cmd [/Debug | /Release] [/x86 | /x64 | /ia64] [/vista | /xp | /2003 | /2008 | /win7] [-h | /?]

The following command configures the build environment to create 64-bit Windows 7 applications that use the Debug build configuration:

SetEnv.cmd /Debug /x64 /win7

SetEnv configures the build environment to create Windows 7 applications by default if you do not specify the operating system.

The following table describes the SetEnv options. Options that create applications for a specific operating system apply only to the nmake utility.

Option

Description

/Debug

Create a Debug configuration build environment.

/Release

Create a Release configuration build environment.

/x86

Create 32-bit x86 applications.

/x64

Create 64-bit x64 applications.

/ia64

Create 64-bit Itanium applications.

/vista (nmake specific)

Create Windows Vista applications.

/xp (nmake specific)

Create Windows XP SP2 applications.

/2003 (nmake specific)

Create Windows Server 2003 applications.

/2008 (nmake specific)

Create Windows Server 2008 or Windows Vista SP1 applications.

/win7 (nmake specific)

Create Windows 7 applications.

-h, /?

Display command usage.

Configuring Visual Studio for Visual C++ Development with the Windows SDK

The Windows SDK provides headers and libraries for creating Windows applications that use native code. These are the same as those that come with Visual Studio 2010, except that the Windows SDK provides newer versions of some tools.

The following sections describe how to configure Visual Studio 2010 and Visual Studio 2008 to use the headers, libraries, and tools that are included in the Windows SDK.

Using the Windows SDK Tools with Visual Studio 2010

To use the Windows SDK tools in Visual Studio 2010

  1. In Visual Studio 2010, open a solution (.sln) file or create a solution.

  2. In Solution Explorer, right-click the project node and then click Properties.

  3. In the Configuration list, select All Configurations.

  4. Under Configuration Properties, select General.

  5. As the Platform Toolset option, select Windows7.1SDK.

  6. Click OK.

Using the Windows SDK Tools with Visual Studio 2008

You can use the Windows SDK Configuration Tool to configure the Windows SDK for use with Visual Studio 2008. The following steps describe how to use the Windows SDK Configuration Tool in the Visual Studio 2008 user interface and in the Windows SDK Command Prompt window.

To use the Windows SDK Configuration Tool in Visual Studio 2008

  1. Start the Windows SDK Configuration Tool by clicking Start, then All Programs, then Microsoft Windows SDK v7.1, and then Visual Studio Registration.

  2. Right-click Windows SDK Configuration Tool and then click Run as administrator.

  3. In the Windows SDK Configuration Tool, in the list, select v7.1.

  4. Click Make Current.

To use the Windows SDK Configuration Tool in the Windows SDK Command Prompt window

  1. Open the Windows SDK Command Prompt window by clicking Start, then All Programs, then Microsoft Windows SDK v7.1, and then Windows SDK 7.1 Command Prompt.

  2. Navigate to the ..\ Windows SDK installation folder\Setup\ folder, for example, C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\.

  3. Type WindowsSdkVer.exe -version:v7.1.

Upgrading Projects to Visual C++ 2010

For Visual C++ projects, MSBuild 4.0 works with the Visual C++ 2010 project file format, .vcxproj. This section describes how to upgrade Visual C++ projects that use the earlier .vcproj format so that they use the .vcxproj format.

If you have Visual Studio 2010, you can use devenv.exe and the /upgrade option to upgrade earlier projects to the current format. For more information about the /upgrade option, see /Upgrade (devenv.exe). Otherwise, you can use the vcupgrade tool to upgrade earlier projects. The vcupgrade tool works on project files from Visual Studio 2005 and Visual Studio 2008.

You can use the vcupgrade tool in the Windows SDK Command Prompt window, which you can open by clicking Start, then All Programs, then Microsoft Windows SDK v7.1, and then Windows SDK 7.1 Command Prompt. The following command uses vcupgrade to upgrade a project named Hello.vcproj to use the .vcxproj format:

vcupgrade.exe Hello.vcproj

This command produces Hello.vcxproj as its output. You can then use MSBuild to build the project, as shown in the following example:

MSBuild.exe Hello.vcxproj /t:Rebuild /p:Configuration=Debug

Important

If your solution contains multiple Visual C++ projects, you must run vcupgrade on each Visual C++ project to upgrade it to the .vcxproj file format. In addition, when you use vcupgrade to upgrade a project to the .vcxproj file format, vcupgrade does not update the corresponding solution (.sln) file. Therefore, you must specify the upgraded projects and not the solution file when you use MSBuild.

Working with 64-bit Visual C++ Projects

You can use the Visual C++ 64-bit compiler to target 64-bit computing architectures. Many of the Windows SDK sample projects also support 64-bit. For information about how to configure Visual C++ projects to target 64-bit operating systems and how to troubleshoot common Visual C++ 64-bit migration issues, see 64-Bit Programming with Visual C++.

See Also

Concepts

Welcome to the Windows SDK