C++ Windows API:对DisconnectEx的未定义引用
我正在开发一个使用windows套接字的应用程序。我的socket类有一个名为Disconnect的方法,该方法使用DisconnectEx,但在链接时出现以下错误:C++ Windows API:对DisconnectEx的未定义引用,c++,c,winapi,mingw,winsock,C++,C,Winapi,Mingw,Winsock,我正在开发一个使用windows套接字的应用程序。我的socket类有一个名为Disconnect的方法,该方法使用DisconnectEx,但在链接时出现以下错误: undefined reference to `DisconnectEx@16' 我正在使用MinGW,并将我的应用程序与以下LIB链接: -lws2_32 -lwsock32 -lmswsock msdn上说此函数所需的最低版本是windowsxp或windowsserver2003,所以我用0x0502定义了WINVER,
undefined reference to `DisconnectEx@16'
我正在使用MinGW,并将我的应用程序与以下LIB链接:
-lws2_32 -lwsock32 -lmswsock
msdn上说此函数所需的最低版本是windowsxp或windowsserver2003,所以我用0x0502定义了WINVER,但仍然得到相同的错误
我错过了什么
提前谢谢 您显然遗漏了MSDN文档中的以下注释: 注意:断开连接函数的函数指针必须为 在运行时通过调用
WSAIoctl
函数
指定了SIO\u GET\u EXTENSION\u函数\u指针
操作码。输入
传递到WSAIoctl
函数的缓冲区必须包含
WSAID\u DISCONNECTEX
,一个全局唯一标识符(GUID),其值
识别DisconnectEx
扩展功能。在成功方面
WSAIoctl
函数返回的输出包含指向
DisconnectEx
功能。中定义了WSAID\u DISCONNECTEX
GUID
Mswsock.h
头文件
请注意,
DisconnectEx()
的MSDN文档没有在“需求”部分中指定库。这意味着您必须在运行时通过动态加载此函数才能获得函数指针。是的,我的错,我错过了。。。凌晨三点半的时候很难睁大眼睛呵呵。谢谢。@Leandro F.Vaz:没问题。这只是一个友好的提醒,提醒您仔细阅读文档。:-)