2010-11-26 114 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

相关问题