在microsoft sdk中定义了一个idl文件,这在VS2005中不可用。我正在使用该IDL中的一些接口。
现在这在VS 2010上运行良好。我想让它在VS2005上编译。
我将头文件复制到我的项目目录中。但它给了我编译错误。
当我查看头文件时,类id被定义为 EXTERN_C const CLSID CLSID_Xyz。
现在它被定义为extern,因此它意味着它应该在代码中的其他地方声明。
所以我的问题只是包含.h文件就足够了,或者我还需要包含_i.c文件。
任何建议
答案 0 :(得分:4)
一旦你检查了_i.c文件,你就会看到确实在那里定义了CLSID常量。所以是的,您需要将.c文件合并到您的程序中 - 通过#include它到.c或.cpp文件中,或者只是将它添加到您的项目中,以便它单独编译然后链接到最终的二进制文件。 / p>