2010-11-26 118 views
3

在microsoft sdk中定義了一個idl文件,該文件在VS2005中不可用。我正在使用該IDL的一些接口。錯誤LNK2001:無法解析的外部符號_CLSID_XYS

現在這工作正常VS 2010。我想讓它在VS2005上編譯。

我將頭文件複製到我的項目目錄。但它給我編譯錯誤。

當我查看頭文件時,類ID被定義爲 EXTERN_C常量CLSID CLSID_Xyz。

現在它被定義爲extern,所以它意味着它應該在代碼中的其他地方聲明。

所以我的問題是隻包括.h文件是足夠的或我需要還包括_i.c文件。

任何建議

回答

4

一旦您檢查_i.c文件,你會看到確實是CLSID常量的定義存在。所以是的,您需要將.c文件合併到您的程序中 - 或者將其包含在.c或.cpp文件中,或者將其添加到您的項目中,以便它們分別編譯並鏈接到最終的二進制文件中。

+0

將_i.c添加到項目中解決問題 – anand 2010-11-26 10:43:22

相關問題