使用WSASocket碰到的链接问题!请您进来看看,谢了!(100分)

  • 主题发起人 主题发起人 yeow
  • 开始时间 开始时间
Y

yeow

Unregistered / Unconfirmed
GUEST, unregistred user!
我在写一个WinSock服务器,其中调用了一个WinSock的标准API:WSASocket。
头文件我是这样包含的:#include <winsock2.h> //只有这一个头文件
结果链接的时候报错:[Linker Error] Unresolved external 'WSASocketA' referenced from E:/PROJECTS/HTTP_SERVER/IOCP_SVR.OBJ

我检查winsock2.h里面,WSASocketA明明是有定义的:
[blue]
#if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE
SOCKET
WSAAPI
WSASocketA(
IN int af,
IN int type,
IN int protocol,
IN LPWSAPROTOCOL_INFOA lpProtocolInfo,
IN GROUP g,
IN DWORD dwFlags
);
WINSOCK_API_LINKAGE
SOCKET
WSAAPI
WSASocketW(
IN int af,
IN int type,
IN int protocol,
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
IN GROUP g,
IN DWORD dwFlags
);
#ifdef UNICODE
#define WSASocket WSASocketW
#else
#define WSASocket WSASocketA
#endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */
[/blue]
程序语法没有问题。百思不得其解,希望得到您的帮助!谢谢啦。
 
忘了说,我用的是BCB6

UP
 
不需要重新定义这两个函数,因为他是winapi
 
您说得没错,我并未重新定义WSASocketW和WSASocketA这两个函数,那时我从winsock2.h里面摘录出来的。我的意思是,明明有定义,为什么还要报没有定义的错误?问题出在什么地方?
 
不是没有定义的错误,而是无法解析到函数体,就是说只有函数头定义而没有实现的函数体。但我也不知道他到底是需要包含哪个头文件或者库。
 
后退
顶部