我在网上下的usbport的那个程序,按照说明步骤,包含w2kddk的include 和lib, 怎么编译出现这个问题?USBPortDlg.obj : error LNK2001: unresolved external symbol "void __stdcall HidD_GetHidGuid(struct _GUID *)" (?HidD_GetHidGuid@@YGXPAU_GUID@@@Z)
我试图解决的方法有几种:
1 在project-》link-》setupapi.lib
2 加hid.dll 和setupapi.dll怎么都不可仪啊 谢谢,刚学,急的都骂自己了,还是没有解决,希望大家帮忙! 这是程序上的:
GUID guidHID;
HidD_GetHidGuid(&guidHID);
m_strLog += _T("HID类的GUID标识为\r\n");

解决方案 »

  1.   

     setupapi.lib  和 hid.lib 我加了也没有用
      

  2.   

    E:\NTDDK\libfre\i386\setupapi.lib  E:\NTDDK\libfre\i386\hid.lib 我家在project-》link-》setupapi.lib 下面的 这样可以吗 ddk装在E:\NTDDK
      

  3.   

    setupapi.lib是不是c的库啊,主程序出错提示找不到c++定义的函数
    使用VC提供的DEPENDS.EXE程序看一下setupapi.dll的引出函数,看一看是不是与出错的
    ?HidD_GetHidGuid@@YGXPAU_GUID@@@Z 不一样,只是HidD_GetHidGuid,那我就说中了解决方法;
    1。定义函数原型,使用LoadLibrary和GetProcAddress获得函数地址,这种情况下不需要在工程中加入.lib文件
    2。使用#ifdef cplusplus .....,将函数原型放入其中,按你使用的方法进行调用
    3。将你的工程源文件均调整成.c 文件,让编译器按照c规则进行编译和连接
      

  4.   

    #pragma comment(lib, "Setupapi.lib") 
      

  5.   

    确实是c的原古 可以用extern c解决 
      

  6.   

    最简单的办法就是直接把文件找出来复制到原文件下
    ddk里面有。