当前位置: 代码迷 >> VC >> 个编绎有关问题, 环境.net2003
  详细解决方案

个编绎有关问题, 环境.net2003

热度:4155   发布时间:2013-02-25 00:00:00.0
求助个编绎问题, 环境.net2003
做一个WIN32的程序,引用一个USB的库文件中的函数,有个编译问题 [所有相关帖子]

 
LINK2019, 无法解析的外部错误, 调用的函数的头文件已经包含, 定义的时候是_stdcall的, 调用的时候提示

USBCommunation.obj : error LNK2019: 无法解析的外部符号 "void __stdcall HidD_GetHidGuid(struct _GUID *)" (?HidD_GetHidGuid@@YGXPAU_GUID@@@Z) ,该符号在函数 "void __cdecl USBPortOnSearch(struct HDC__ *,struct tagRECT &)" (?USBPortOnSearch@@YAXPAUHDC__@@AAUtagRECT@@@Z) 中被引用

该函数原型是 
void __stdcall
HidD_GetHidGuid (
  OUT LPGUID HidGuid
  );

我下载了相关的文件, 就是几个.h文件和几个.lib文件,将lib文件添加到编绎环境里面.
hdisdi.h, setupapi.h等,就是网上说的使用USB要用到的库文件.







------解决方案--------------------------------------------------------
先确认一下相关lib是否都已添加到了项目里面,如果仍有问题,可能是由于该库是用C语言写的,在包含该库的头文件时加上extern "C"试试。参考下面的写法:
extern "C" {
#include "xxx1.h"
#include "xxx2.h"
}