我刚开始学习VC,希望大家帮我看看这个程序哪里错了?
编译通过,链接的时候两个错误,如下:
1.obj : error LNK2001: unresolved external symbol "long __stdcall WndPro(struct HWND__ *,unsigned int,unsigned int,long)" (?WndPro@@YGJPAUHWND__@@IIJ@Z)
Debug/normalwindow.exe : fatal error LNK1120: 1 unresolved externals
我不太明白是什么意思,请高手指教,谢谢。
程序如下:
#include<windows.h> //窗口函数说明
LRESULT CALLBACK WndPro(HWND,UINT,WPARAM,LPARAM);
//初始化
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
static char szAppName[]="示例"; //窗口类名
HWND hwnd; //窗口句柄
MSG msg; //window消息
WNDCLASSEX wndclass; //窗口类,可以是WNDCLASS
wndclass.cbSize=sizeof(wndclass); //窗口类数据大小
wndclass.style=CS_HREDRAW|CS_VREDRAW; //窗口类型
wndclass.lpfnWndProc=WndPro; //窗口处理函数为Wndpro
wndclass.cbClsExtra=0; //窗口类无扩展
wndclass.cbWndExtra=0; //窗口实例无扩展
wndclass.hInstance=hInstance; //当前实例句柄
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口最小化图标默认
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); //窗口采用箭头光标
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
wndclass.lpszMenuName=NULL; //窗口无菜单
wndclass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
//窗口类注册
if(!RegisterClassEx(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(szAppName,//窗口类名
"示例", //窗口标题名
WS_OVERLAPPEDWINDOW,//窗口的风格
CW_USEDEFAULT,
CW_USEDEFAULT, //窗口左上角坐标默认值
CW_USEDEFAULT,
CW_USEDEFAULT, //窗口的高和宽为默认值
NULL, //此窗口无父窗口
NULL, //此窗口无主菜单
hInstance, //创建此窗口的应用程序当前句柄
NULL); // 此值不使用
ShowWindow(hwnd,iCmdShow); //显示窗口
UpdateWindow(hwnd); //绘制用户区
while(GetMessage(&msg,NULL,0,0))//消息循环
{
TranslateMessage(&msg);//翻译消息
DispatchMessage(&msg);//将消息传给处理函数
}
return msg.wParam;
}
LRESULT CALLBACK WinPro (HWND hwnd,//窗口句柄
UINT iMsg,//代表所处理消息的消息值
WPARAM wParam,//消息的附加参数
LPARAM lParam) //消息的附加参数
{
switch(iMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,iMsg,wParam,lParam);
}