Я написал такую программу:
#include<windows.h>
LRESULT CALLBACK WindowProcedure(HWND,UINT,WPARAM,LPARAM);
char szClassName[]="Windows Example";
HINSTANCE hint;
int WINAPI WinMain(HINSTANCE hint, HINSTANCE prevhint,LPSTR lpszArgument, int nFunsterStil) {
HWND hwnd;
MSG messages;
WNDCLASSEX wnd;
wnd.hInstance = hint;
wnd.lpfnWndProc = WindowProcedure;
wnd.lpszClassName = szClassName;
wnd.style = CS_DBLCLKS;
wnd.cbSize = sizeof(WNDCLASSEX);
//wnd.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);
if(!RegisterClassEx(&wnd)) return 0;
hwnd = CreateWindowEx(0, szClassName, "Windows test",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,HWND_DESKTOP,NULL,hint,NULL);
ShowWindow(hwnd,nFunsterStil);
while(GetMessage(&messages, NULL, 0, 0))
{
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program returvalue is 0 — The value that PostQuitMessage( ) gave */
return messages.wParam;
}
Компилируется, но не запускается.
Вот что пишет про процедуру окна: [Linker error] undefined reference to `_Z15WindowProcedureP6HWND__jjl@16′
ld returned 1 exit status
Видимо как-то неправильно объявил?
И хде она? Эта самая ВиндовПроцедуре?
Она у вас объявлена, но кода ее я не вижу. И линкер не видит, на это и ругается.