Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 将WSAAsyncSelect与Mingw链接-未定义引用_Winapi_Mingw - Fatal编程技术网

Winapi 将WSAAsyncSelect与Mingw链接-未定义引用

Winapi 将WSAAsyncSelect与Mingw链接-未定义引用,winapi,mingw,Winapi,Mingw,我正在将我在Borland编写的voip应用程序移植到Mingw,这样我就知道代码是有效的。我使用命令行gcc-lws2_32-mwindows-voipapp.c-o-voipapp并不断获取错误消息 对“的未定义引用”WSAAsyncSelect@16“” 它似乎正确地定位了libws2_32.a,因为没有出现错误消息告诉我其他情况。关于可能出现的错误,有什么想法吗?我安装了一个最新版本的mingw。谢谢 我的代码如下: #包括 #包括 #定义__ #包括 #包括 #包括 #包括 #包括 #

我正在将我在Borland编写的voip应用程序移植到Mingw,这样我就知道代码是有效的。我使用命令行gcc-lws2_32-mwindows-voipapp.c-o-voipapp并不断获取错误消息

对“的未定义引用”WSAAsyncSelect@16“”

它似乎正确地定位了
libws2_32.a
,因为没有出现错误消息告诉我其他情况。关于可能出现的错误,有什么想法吗?我安装了一个最新版本的mingw。谢谢

我的代码如下:

#包括
#包括
#定义__
#包括
#包括
#包括
#包括
#包括
#定义WM_SOCKETREAD(WM_用户+1)
SOCKET-ListenSocket;
LRESULT回调WndProc(HWND、UINT、WPARAM、LPARAM);
int WINAPI WinMain(HINSTANCE HINSTANCE、HINSTANCE HPPreInstance、,
LPSTR szCmdLine,int iCmdShow){
静态字符szAppName[]=“voip”;
HWND-HWND;
味精;
wndclass x wndclass;
wndclass.cbSize=sizeof(wndclass);
wndclass.style=CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(空,IDI_应用程序);
wndclass.hIconSm=LoadIcon(空,IDI_应用程序);
wndclass.hCursor=LoadCursor(空,IDC_箭头);
wndclass.hbrBackground=(HBRUSH)GetStockObject(白色画笔);
wndclass.lpszClassName=szAppName;
wndclass.lpszMenuName=NULL;
RegisterClassEx(&wndclass);
hwnd=CreateWindow(szAppName,“VOIP原型”,
WS_重叠窗口,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,hInstance,NULL);
显示窗口(hwnd、iCmdShow);
更新窗口(hwnd);
WSAAsyncSelect(ListenSocket、hwnd、WM_SOCKETREAD、FD_READ、FD|u CLOSE);
while(GetMessage(&msg,NULL,0,0)){
翻译信息(&msg);
发送消息(&msg);
} 
返回msg.wParam;
}
LRESULT回调WndProc(HWND HWND、UINT iMsg、WPARAM WPARAM、LPARAM LPARAM){
返回DefWindowProc(hwnd、iMsg、wParam、lParam);
}

必须指定正确的链接顺序

尝试:

gcc voipapp.c -o voipapp -mwindows -lws2_32