microsoft sdk 中定义了一个 idl 文件,在 VS2005 中不可用。我正在使用该 IDL 中的一些接口(interface)。
现在这在 VS 2010 上运行良好。我想让它在VS2005上编译。
我将头文件复制到我的项目目录中。但它给了我编译错误。
当我查看头文件时,类 ID 在其中定义为
EXTERN_C 常量 CLSID CLSID_Xyz。
现在它被定义为 extern 所以这意味着它应该在代码的其他地方声明。
所以我的问题只是包含 .h 文件就足够了,还是我还需要包含 _i.c 文件。
有什么建议么
最佳答案
一旦你检查了那个 _i.c 文件,你会看到确实在那里定义了 CLSID 常量。所以是的,您需要将该 .c 文件合并到您的程序中 - 通过#include 将其合并到 .c 或 .cpp 文件中,或者只是将其添加到您的项目中,以便它单独编译,然后链接到最终的二进制文件中。
关于winapi - 错误 LNK2001 : unresolved external symbol _CLSID_XYS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283006/