zoukankan      html  css  js  c++  java
  • VC链接hid.lib出错问题解决方案

    写一个HID的客户端小程序,调用了一些HID API,但是链接时出现了奇怪的现象。

    尽管我已经把头文件和lib文件加入到了VC的Include和Lib目录中,但不管我用VC链接,还是在DDK环境下链接,都会提示如下的错误

    1>E:WINDDK3790.1830libwneti386BufferOverflowU.lib
    1>E:WINDDK3790.1830libcrti386libc.lib
    1>E:WINDDK3790.1830libwneti386advapi32.lib
    1>E:WINDDK3790.1830libwneti386kernel32.lib
    1>E:WINDDK3790.1830libwneti386hid.lib
    1>E:WINDDK3790.1830libwneti386setupapi.lib
    1>E:WINDDK3790.1830libwneti386comdlg32.lib
    1>hidtest.obj : error LNK2019: unresolved external symbol "void __stdcall HidD_GetHidGuid(struct _GUID *)" (?HidD_GetHidGuid@@YGXPAU_GUID@@@Z) referenced in function _main
    1>objchk_wnet_x86i386HidTest.exe : fatal error LNK1120: 1 unresolved externals

    明明已经找到了hid.lib,却还是提示找不到函数,这让我很纳闷,找了好久,终于在网上找到了答案:

    https://bbs.csdn.net/topics/350115980

    问题出在头文件的包含方式上,默认我是这么写的:

    #include <windows.h>
    #include <setupapi.h>
    #include <hidsdi.h>

    而实际上得这么写:

    #include <windows.h>
    #include <setupapi.h>

    extern "C" {
    #include <hidsdi.h>
    };

    我猜测是因为这个头文件定义的符号名称是C方式的,如果是按CPP方式的话,可能是因为名称修饰的关系导致找不到对应的函数吧

    修改完成后再编译就通过啦!

  • 相关阅读:
    9.13 h5日记
    9.12 h5日记
    9.11 h5日记
    9.10 h5日记
    H5笔记周记
    ASP.NET-GridView之表头设计
    论执行力
    BS总结篇­
    花样年纪的记录(一)
    Nginx+ISS+Redis实现完美负载均衡
  • 原文地址:https://www.cnblogs.com/achillis/p/8619753.html
Copyright © 2011-2022 走看看