在VC ++中解决hid.lib“未解析的外部符号”链接器错误

时间:2011-09-30 18:34:53

标签: c++ visual-c++ linker-errors .lib

正如标题所示,我遇到以下链接器错误:

  

错误LNK2019:未解析的外部符号“unsigned char __stdcall   HidD_GetAttributes(void *,struct _HIDD_ATTRIBUTES *)“   (?HidD_GetAttributes @@ YGEPAXPAU_HIDD_ATTRIBUTES @@@ Z)

在我的代码中调用result = HidD_GetAttributes(WriteHandle, &attributes)时。

此函数应存在于“hid.lib”中,我已将其添加到项目的链接器依赖项中。我还包括头文件“hidsdi.h”,它具有HidD_GetAttributes的函数原型。

我认为唯一可能有问题的是“hid.lib”的函数原型分为三个不同的头文件:hidsdi.h,hidpi.h和hidsage.h。

有什么建议吗?

1 个答案:

答案 0 :(得分:9)

刚刚解决了问题。显然“hid.lib”是用C语写的,这导致了一些名称错误。使用

extern "C"
{
    #include "hidsdi.h"
}

清除了一切。