共用方式為


編譯器警告 (層級 1) C4772

#import 從遺漏的類型庫參考類型;作為佔位元使用的 'missing-type'

使用 #import 指示詞參考類型庫。 不過,類型連結庫包含另一個未使用 #import參考的類型連結庫參考。 編譯程式找不到這個其他 .tlb 檔案。

請注意,如果您使用 /I (其他 Include Directory) 編譯程式選項來指定這些目錄,編譯程式將無法在不同的目錄中找到類型連結庫。 如果您想要編譯程式在不同的目錄中尋找類型庫,請將這些目錄新增至PATH環境變數。

根據預設,這個警告會發出為錯誤。 無法使用 /W0 隱藏 C4772。

範例

這是重現 C4772 所需的第一個類型連結庫。

// c4772a.idl
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12b")]
library C4772aLib
{
   [uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c100")]
   enum E_C4772a
   {
      one, two, three
   };
};

這是重現 C4772 所需的第二個類型連結庫。

// c4772b.idl
// post-build command: del /f C4772a.tlb
// C4772a.tlb is available when c4772b.tlb is built
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12d")]
library C4772bLib
{
   importlib ("c4772a.tlb");
   [uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12e")]
   struct S_C4772b
   {
      enum E_C4772a e;
   };
};

下列範例會產生 C4772:

// C4772.cpp
// assumes that C4772a.tlb is not available to the compiler
// #import "C4772a.tlb"
#import "C4772b.tlb"   // C4772 uncomment previous line to resolve
                       // and make sure c4772a.tlb is on disk