--------------------Configuration: Lib100 - Win32 Debug--------------------
Linking...
   Creating library Debug/Lib100.lib and object Debug/Lib100.exp
Lib100.obj : error LNK2001: unresolved external symbol "int __stdcall ReadUSB(void *,unsigned char *,unsigned long,unsigned long *,unsigned long)" (?ReadUSB@@YGHPAXPAEKPAKK@Z)
Lib100.obj : error LNK2001: unresolved external symbol "int __stdcall WriteUSB(void *,unsigned char *,unsigned long,unsigned long *,unsigned long)" (?WriteUSB@@YGHPAXPAEKPAKK@Z)
Debug/Lib100.dll : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.Lib100.dll - 3 error(s), 0 warning(s)
找了好久的原因啊 、我是新手 不太懂
头文件中。库中也有这2个函数
SONIXLIBAPI 
BOOL 
WINAPI 
WriteUSB(
HANDLE hDevice, 
LPBYTE pBuffer, 
DWORD dwBytesToWrite, 
LPDWORD lpNumberOfBytesWritten, 
DWORD dwMilliseconds = INFINITE
);SONIXLIBAPI 
BOOL 
WINAPI 
ReadUSB(
HANDLE hDevice, 
LPBYTE pBuffer, 
DWORD dwBytesToRead, 
LPDWORD lpNumberOfBytesRead,
DWORD dwMilliseconds = INFINITE
);还有其它函数都不报错,就这2个函数。

解决方案 »

  1.   

    没包含lib文件
    #pragma comment(lib,"**.lib")
      

  2.   

    SONIXLIBAPI 
    BOOL 
    WINAPI 
    WriteUSB(
    HANDLE hDevice, 
    LPBYTE pBuffer, 
    DWORD dwBytesToWrite, 
    LPDWORD lpNumberOfBytesWritten, 
    DWORD dwMilliseconds = INFINITE
    );SONIXLIBAPI 
    BOOL 
    WINAPI 
    ReadUSB(
    HANDLE hDevice, 
    LPBYTE pBuffer, 
    DWORD dwBytesToRead, 
    LPDWORD lpNumberOfBytesRead,
    DWORD dwMilliseconds = INFINITE
    );我贴的这2个函数就是库里面的呢。
      

  3.   

    你这个是写在.h文件的中函数申明,现在需要的是.lib文件,你需要在工程中配置链接.lib文件。你这个是link错误,不是compile错误,明白?
      

  4.   

    如果你使用的是源码,你应该将他的CPP文件加入你的工程,这样VC才会去编译他,然后才能连接。如果使用的是DLL,就用二楼的方法。如果还没解决,估计就是人品问题了。
      

  5.   

    你这个是写在.h文件的中函数申明,现在需要的是.lib文件,你需要在工程中配置链接.lib文件。你这个是link错误,不是compile错误,明白?这个我清楚哦,dll、lib都有,lib也引入了。
    不过这个错误提示的是“int __stdcall ReadUSB”
    lib中的是“SONIXLIBAPI 
    BOOL 
    WINAPI 
    ReadUSB”
    这里是bool型的。我也没自己再定义这个函数
    “ bRet = ReadUSB(hUSBDevice,pByte , inputLength, &dwBytesRead,350);”
    我只是这样调用而已
      

  6.   

    你用dumpbin查看你动态链接库导出的函数,然后看看你应用程序里面引用的函数名是否一样!
    用.def文件比较安全
    1.*.def使函数名不改变;
    2.定义时为_stdcall,调用时也必须用_stdcall.能说具体点吗
      

  7.   

    BOOL被定义为int。BOOL
     Boolean variable (should be TRUE or FALSE). This type is declared in WinDef.h as follows:
    typedef int BOOL;