none
Direct2DとAnimation ManagerのID RRS feed

  • 質問

  • Direct2DとAnimation ManagerのInterface ID及びCoClass IDについて質問があります。

    以下Headerに宣言されている各IDは、どのLibで実装されていますでしょうか。

    #include <UIAnimation.h>
    #include <d2d1.h>

    例えば、
    d2d.hに宣言されている「EXTERN_C CONST IID IID_ID2D1Factory;」を、
    Source Codeで利用すると、未解決のシンボルとしてLinker Errorになります。

    #include <d2d1.h>
    #pragma comment(lib, "d2d1.lib")
    
    void Test()
    {
        IID iid = IID_ID2D1Factory;  //error LNK2001
    }
    d2d1.hは「Microsoft DirectX SDK (August 2009)」のHeaderを利用しています。
    UIAnimation.hは「Windows 7 SDK」のHeaderを利用しています。

    [質問]
      1.Direct2Dを利用する際に、どのLibとLinkすれば良いでしょうか
      2.Animation Managerを利用する際に、どのLibとLinkすれば良いでしょうか

    ---
    回避策としては、以下のように自分で実装する手段がありますが、
    適切なLibのLinkによる解決を模索しています。

    CONST IID IID_ID2D1Factory = __uuidof(ID2D1Factory);
    ...
    2010年2月3日 14:25

回答

  • uuid.lib にあります。
    このインポートライブラリは、DirectX SDK には含まれていません。
    Windows Software Development Kit に入っていますが、
    Vista / 2008 用 (v6.0/v6.0A) には含まれる uuid.lib には、
    IID_ID2D1Factory は含まれていません。
    7 / 2008 R2 用 (v7.0) が必要なようです。
    • 回答としてマーク kozz 2010年2月4日 21:17
    2010年2月4日 15:05

すべての返信

  • uuid.lib にあります。
    このインポートライブラリは、DirectX SDK には含まれていません。
    Windows Software Development Kit に入っていますが、
    Vista / 2008 用 (v6.0/v6.0A) には含まれる uuid.lib には、
    IID_ID2D1Factory は含まれていません。
    7 / 2008 R2 用 (v7.0) が必要なようです。
    • 回答としてマーク kozz 2010年2月4日 21:17
    2010年2月4日 15:05
  • ありがとうございます。

    ご回答の通り、dumpbinで調べたところ、
    Windows SDK 7のuuid.libにありました。

    2010年2月4日 21:17