调用HidD_GetAttributes,HidD_GetAttributes函数时link出错,我已经加了setupapi.lib和hid.lib库文件

huzhenjian 2010-10-22 09:47:39
调用HidD_GetAttributes,HidD_GetAttributes函数时link出错,我已经加了setupapi.lib和hid.lib库文件

用vc++编一个USB通信的程序,很要命的程序,对我来说,现在在LINK的时候一直有这个错误

compiling...
usbportdlg.cpp
linking...
usbportdlg.obj : error lnk2001: unresolved external symbol "unsigned char __stdcall hidd_getattributes(void *,struct _hidd_attributes *)" (?hidd_getattributes@@ygepaxpau_hidd_attributes@@@z)
usbportdlg.obj : error lnk2001: unresolved external symbol "void __stdcall hidd_gethidguid(struct _guid *)" (?hidd_gethidguid@@ygxpau_guid@@@z)
debug/usbport.exe : fatal error lnk1120: 2 unresolved externals
error executing link.exe.

usbport.exe - 3 error(s), 0 warning(s)

那位大侠能帮帮忙指点一下呢?

...全文
1459 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
XFS-WOSA开发 2013-07-02
  • 打赏
  • 举报
回复
你是怎么解决的啊,我现在也遇到了同样的问题 ,在VS2010中我设置了相关路径,包含了库,同时加了extern "C" { #include <setupapi.h> #include <hidsdi.h> }; 也没有用, 而同样的代码,我在VC6.0中就可以link 到hid.lib 。 在VS2010中,LINK : fatal error LNK1104: 无法打开文件“hid.lib”
KMUST 2012-10-22
  • 打赏
  • 举报
回复
我VC6.0什么代码都没写呢就报错,LINK : fatal error LNK1104: cannot open file "hid.lib;setupapi.lib"
Error executing link.exe.相关的hid.lib;setupapi.lib我也加了, extern "C" {
#include <setupapi.h>
#include <hidsdi.h>
};
也加了,还是报那个错误,求帮忙解决
浩洋天下 2012-06-11
  • 打赏
  • 举报
回复
我也遇到过这种情况,楼上有高人。
you_风继续吹 2012-05-29
  • 打赏
  • 举报
回复
前几天写了一个自定义读写hid设备的程序,HidD_GetAttributes函数一直返回 0,编译,链接都没有错误,不知道怎么回事啊
hellolwp 2012-03-20
  • 打赏
  • 举报
回复
VC对USB进行访问的函数名中,包含hid字样的函数属于hid.lib,函数名中包含setup字样的函数属于setupapi.lib,需要在工程设置选项的link下的library modules下加入hid.lib和setupapi.lib,否则就会出现链接错误。不过,VC自己并没有自带这个hid.lib,在DDK中才有。注意这些函数的声明,是标准的C函数格式,因此在c++文件中引用头文件时加上extern "C",否则会链接不上。
oaeo 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 reludson 的回复:]
这个问题可以这么解决
1)在cpp中加入如下代码:
#include "setupapi.h"
extern "C"{
#include "hidsdi.h"
};

2)在工程的参数设置中,在link项下的Object/library modules:中加入
hid.lib setupapi.lib
[/Quote]

7楼太NB了!膜拜……
zddsh 2011-07-30
  • 打赏
  • 举报
回复
问题解决了,哈哈
reludson 2011-05-14
  • 打赏
  • 举报
回复
这个问题可以这么解决
1)在cpp中加入如下代码:
#include "setupapi.h"
extern "C"{
#include "hidsdi.h"
};

2)在工程的参数设置中,在link项下的Object/library modules:中加入
hid.lib setupapi.lib
wu_929 2010-12-06
  • 打赏
  • 举报
回复
弱弱的问下,在dll里面封装HID.LIB的时候,这两个函数还是出问题,这是怎么回事?
在通讯程序里面现在是没问题了
huzhenjian 2010-10-25
  • 打赏
  • 举报
回复
这个错误已经解决了,现在下面海有很多多工作。比如现在能检测到GUID,但是设备检测不到,头疼的USB
huzhenjian 2010-10-22
  • 打赏
  • 举报
回复
想不到这么快就有人帮忙,先谢了!

lib工程设置里链接已经加上了,
请问lsupper,怎么看函数是不是在lib里面啊?反正那个lib里是有hidd_getattributes这个,但是有些是乱码。

请问wang19870102, 这么Extend?谢谢。
麻烦大家了
大石头1987 2010-10-22
  • 打赏
  • 举报
回复
Extend试下!
lsupper 2010-10-22
  • 打赏
  • 举报
回复
查下对应的这几个函数是否是在你说的lib里面...并且是否正的加了链接lib的命令...

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧