错误LNK2001:未解析的外部符号_CLSID_XYS

ana*_*and 5 com winapi visual-c++

在microsoft sdk中定义了一个idl文件,这在VS2005中不可用.我正在使用该IDL的一些接口.

现在这在VS 2010上运行良好.我想让它在VS2005上编译.

我将头文件复制到我的项目目录中.但它给了我编译错误.

当我查看头文件时,类id在其中定义为EXTERN_C const CLSID CLSID_Xyz.

现在它被定义为extern,因此它意味着它应该在代码中的其他地方声明.

所以我的问题是只包括.h文件就足够了或者我还需要包含_i.c文件.

有什么建议

sha*_*oth 4

一旦您检查了 _i.c 文件,您就会看到确实在那里定义了 CLSID 常量。所以,是的,您需要将该 .c 文件合并到您的程序中 - 通过 #include 将其合并到 .c 或 .cpp 文件中,或者只是将其添加到您的项目中,以便它单独编译,然后链接到最终的二进制文件。