【问题标题】:Solving hid.lib "unresolved external symbol" linker errors in VC++解决 VC++ 中的 hid.lib “未解析的外部符号”链接器错误
【发布时间】:2011-09-30 18:34:53
【问题描述】:

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

错误 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。

有什么建议吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    清除一切。

    【讨论】:

    • 感谢您的解决方案!我刚刚花了将近一个小时遇到同样的问题……他们为什么不在 MSDN 上这么说!?
    • 根据我的经验,微软的文档不是很好。我遇到的大多数问题都是通过弄乱我的代码或搜索论坛来解决的。很高兴这对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2012-10-07
    相关资源
    最近更新 更多