Visual Studio 2010 C++ で Windows SDK v7.1 を使うには?

これまた、誰もがハマるであろうと思うシリーズです。(すでに、数名の人から問い合わせを受けました)

Windows SDK v7.1 がリリースされたことは以前、このブログでも紹介しました。
で、インストールされた方もいるかと思います。

「Visual Studio 2008 C++」 + 「Windows SDK v7.0」 の組み合わせでは、SDK のコンパイラやヘッダーを
Visual Studio から参照するために、

[Microsoft Windows SDK v7.1] – [Visual Studio Registration] メニューより

Windows SDK Configuration Tool

を実行して、SDK v7.0 環境に変更したと思います。
SDK v7.1 をインストールしたからには、Visual Studio 2010 C++ で SDK v7.1 の環境にしたいわけで
同じように、Windows SDK Configuration Tool を使ってみると…

あれ? ”Visual Studio 2008 用に SDK v7.1 を設定した” とメッセージが表示されます。一体これは!?

またしても、既存の VS & SDK からの変更点です。

Visual Studio 2010 から、個々の設定がプロジェクト単位に変更されてしまいました。
そのため、SDK の設定もプロジェクトの設定から行うことになります。

C++ のプロジェクトを開き、プロジェクトのプロパティを表示させます。

で、構成プロパティ – 全般 にある「プラットフォームツールセット」を変更することで
参照する Windows SDK のバージョンを切り替えるようになっています。($(WindowsSdkDir)マクロの値が変更される)
つまり、「Windows7.1SDK」を選択しておくことで、SDK v7.1 を使うことができるというわけです。

うーん、またしても、わかりにくい変更…。

このブログの関連記事

3 Responses to Visual Studio 2010 C++ で Windows SDK v7.1 を使うには?

  1. ピンバック: WTL の最新版で Ribbon « re-Think things

  2. まさにこの方法を知りたくて、検索からこの記事に辿り着きました。
    ありがとうございます。助かりました。

    • コメントありがとうございます。
      お役に立ててよかったです。
      あと、ブログには書いていないTipsですが、

      C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32

      にある「Microsoft.Cpp.Win32.default.props」を開き、

      <PlatformToolset Condition=”‘$(PlatformToolset)’ == ””>v100</PlatformToolset>

      <PlatformToolset Condition=”‘$(PlatformToolset)’ == ””>Windows7.1SDK</PlatformToolset>

      に書き換えておくと、プラットフォームツールセットのデフォルトがWindows7.1SDKになりますよ。
      いちいちプロジェクトのプロパティを変更するのが面倒&変更し忘れないように、私はこのようにしています。

コメントを残す