--------------------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个函数。
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个函数。
#pragma comment(lib,"**.lib")
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个函数就是库里面的呢。
不过这个错误提示的是“int __stdcall ReadUSB”
lib中的是“SONIXLIBAPI
BOOL
WINAPI
ReadUSB”
这里是bool型的。我也没自己再定义这个函数
“ bRet = ReadUSB(hUSBDevice,pByte , inputLength, &dwBytesRead,350);”
我只是这样调用而已
用.def文件比较安全
1.*.def使函数名不改变;
2.定义时为_stdcall,调用时也必须用_stdcall.能说具体点吗
Boolean variable (should be TRUE or FALSE). This type is declared in WinDef.h as follows:
typedef int BOOL;