socket 通讯 undefined symbol SO_OPENTYPE
我.h文件包含了 WinSock2.h
从网上下的例子。
server.sin_family=AF_INET;
server.sin_port=htons(m_Port);
server.sin_addr.S_un.S_addr=INADDR_ANY;
int NewOpenType=SO_SYNCHRONOUS_NONALERT;
if(setsockopt(INVALID_SOCKET,SOL_SOCKET,SO_OPENTYPE,(char*)&NewOpenType,4)){
sprintf(szTmp,"Set socket option error,error no:%d",::WSAGetLastError());
::MessageBox(0,szTmp,"Error",MB_OK+MB_ICONERROR);
DoError();
return;
}
编辑错误
undefined symbol 'SO_SYNCHRONOUS_NONALERT'
undefined symbol 'SO_OPENTYPE'
这个二个变量不是在 WinSock2.h 头文件中吗?
[解决办法]
加上
#include "WinSock.h"
[解决办法]
还缺少头文件
[解决办法]
在WinSock2.h 定义
#define SO_OPENTYPE 0x7008
#define SO_SYNCHRONOUS_ALERT 0x10
#define SO_SYNCHRONOUS_NONALERT 0x20