2011-09-30 69 views
4

“解析外部符号”链接错误正如标题所暗示的,我有以下链接错误:解决hid.lib在VC++

error LNK2019: unresolved external symbol "unsigned char __stdcall HidD_GetAttributes(void *,struct _HIDD_ATTRIBUTES *)" ([email protected]@[email protected]@@Z)

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

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

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

有什么建议吗?

回答

7

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

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

清除了一切。

+0

感谢您的解决方案!我花了差不多一个小时来解决同样的问题......为什么他们不这样说MSDN!? –

+0

从我的经验来看,微软的文档并不是那么好。我所遇到的大多数问题都是通过弄乱我的代码或搜索论坛来解决的。很高兴这对你有帮助。 – Ben