·c++中window编程过程中问题 继续发问

来源:百度知道 编辑:UC知道 时间:2024/05/04 06:21:56
源程序:
#include<windows.h>
#include<iostream.h>
LRESULT CALLBACK Wndproc(HWND,UINT,WPARAM,LPARAM);
int WINAPI Winmain(HINSTANCE hlnstance,HINSTANCE hPrevlnst,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG Msg ;
WNDCLASS wndclass ;
char lpszClassName[]="窗口";
char lpszTitle[]="My_Windows";
wndclass.style=0;
wndclass.lpfnWndProc =Wndproc;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
wndclass.hInstance =hlnstance;
wndclass.hIcon =LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor =LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName =lpszClassName;
if(!RegisterClass(&wndclass))
{MessageBeep(0);return FALSE;}
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,

首先
------------------------------------------------------
22222.obj : error LNK2001: unresolved external symbol "long __stdcall Wndproc(struct HWND__ *,unsigned int,unsigned int,long)" (?Wndproc@@YGJPAUHWND__@@IIJ@Z)
------------------------------------------------------是说Wndproc没有定义找到定义Wndproc的实现
实现它,将如下代码加到文件后面
LRESULT CALLBACK Wndproc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch (message) {
case WM_DESTROY: // 窗口已经被销毁 (程序即将结束)。
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd, message, wParam, lParam));
}
return 0;
}

然后
------------------------------------------------------
error LNK2001: unresolved external symbol _main
------------------------------------------------------
说明你的连接参数设置不正确,对于Window编程子系统应该设置成Windows,就是菜单Projects\Setting,的Link页下的Project Options中的/subsystem:windows,而非/subsystem:console

另外你的