Linking...
five.obj : error LNK2001: unresolved external symbol "int __cdecl InitWindowsClass(struct HINSTANCE__ *,int)" (?InitWindowsClass@@YAHPAUHINSTANCE__@@H@Z)
Debug/five_angel.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

解决方案 »

  1.   

    BOOL InitWindowsClass(HINSTANCE hInstance)
    {
        WNDCLASS WndClass;
        WndClass.cbClsExtra=0;
        WndClass.cbWndExtra=0;
        WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
        WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
        WndClass.hIcon=LoadIcon(NULL,"END");
        WndClass.hInstance=hInstance;
        WndClass.lpfnWndProc=WndProc;
        WndClass.lpszClassName="WinFill";
        WndClass.lpszMenuName=NULL;
        WndClass.style=CS_HREDRAW|CS_VREDRAW;
        return RegisterClass(&WndClass);
        
    }
      

  2.   

    # include <windows.h>
    # include <stdlib.h>
    # include <string.h>
    # include <math.h>
    # define Pi 3.1415926
    long WINAPI WndProc(HWND hWnd,UINT iMessage,
    UINT wParam,LONG lParam);BOOL InitWindowsClass(HINSTANCE hInstance);
    BOOL InitWindowsClass(HINSTANCE hInstance,int nCmdShow);
    HWND hWndMain;int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
       LPSTR lpCmdLine,int nCmdShow){
    MSG Message;
    if(!InitWindowsClass(hInstance))
    return FALSE;
    if(!InitWindowsClass(hInstance,nCmdShow))
    return FALSE;
    while(GetMessage(&Message,0,0,0))
    {
    TranslateMessage(&Message);
    DispatchMessage(&Message);
    }
    return Message.wParam;
    }long WINAPI WndProc(HWND hWnd,UINT iMessage,
    UINT wParam,LONG lParam){
    HDC hDC;
    HBRUSH hBrush;
    HPEN hPen;
    PAINTSTRUCT PtStr;
    double dfRadious0=100.0,dfRadious1;
    POINT lpOuterPoints[5],lpInnerPoints[5];
    POINT lpTriangle[3];
    dfRadious1=dfRadious0*sin(0.1*Pi)/sin(126.0/180*Pi);for(int i = 0;i<5 ; i++)
    {
    lpOuterPoints[i].x=(long)(dfRadious0*cos(i*72.0/180*Pi));
    lpOuterPoints[i].y=(long)(dfRadious0*sin(i*72.0/180*Pi));
    lpOuterPoints[i].x=(long)(dfRadious1*cos(i*72.0/180*Pi+36.0/180*Pi));
    lpOuterPoints[i].y=(long)(dfRadious1*sin(i*72.0/180*Pi+36.0/180*Pi));
    }switch(iMessage)
    {
    case WM_PAINT:
    hDC=BeginPaint(hWnd,&PtStr);
    SetMapMode(hDC,MM_ANISOTROPIC);
    SetWindowOrgEx(hDC,-100,-100,NULL);
    hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));
    SelectObject(hDC,hPen);
    Polygon(hDC,lpOuterPoints,5); for(i=0;i<5;i++) {
    lpTriangle[0]=lpOuterPoints[i%5];
    lpTriangle[1]=lpInnerPoints[i%5];
    lpTriangle[2]=lpOuterPoints[(i+1)%5];
    hBrush=CreateSolidBrush(RGB(i*10,i*20,i*30));
    SelectObject(hDC,hBrush);
    Polygon(hDC,lpTriangle,3);
    lpTriangle[2]=lpInnerPoints[(i+4)%5];
    hBrush=CreateSolidBrush(RGB(i*40,i*30,i*20));
    SelectObject(hDC,hBrush);
    Polygon(hDC,lpTriangle,3); } hBrush=CreateSolidBrush(RGB(255,255,255));
    SelectObject(hDC,hBrush);
    Polygon(hDC,lpInnerPoints,5);
    MoveToEx(hDC,lpOuterPoints[0].x,lpOuterPoints[0].y,NULL);
    for(i=1;i<=5;i++)
    {
    hPen=CreatePen(PS_SOLID,1,RGB(0,i*51,0));
    SelectObject(hDC,hPen);
    LineTo(hDC,lpOuterPoints[(i+2)%5].x,lpOuterPoints[(i+2)%5].y);
    } hPen=(HPEN)(GetStockObject(PS_NULL));
    DeleteObject(hPen);
    DeleteObject(hBrush);
    EndPaint(hWnd,&PtStr);
    return 0;
    case WM_DESTROY:
    PostQuitMessage(0);
    return 0;

    default:
    return(DefWindowProc(hWnd,iMessage,wParam,lParam));
    }
    }BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
    {
    HWND hWnd;
    hWnd=CreateWindow("Polygon",
      "五边形",
      WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT,
      0,
      CW_USEDEFAULT,
      0,
      NULL,
      NULL,
      hInstance,
      NULL);
    if(!hWnd)
    return FALSE;
    hWndMain=hWnd;
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
    return TRUE;}BOOL InitWindowsClass(HINSTANCE hInstance)
    {
    WNDCLASS WndClass;
    WndClass.cbClsExtra=0;
    WndClass.cbWndExtra=0;
    WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
    WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
    WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    WndClass.hInstance=hInstance;
    WndClass.lpfnWndProc=WndProc;
    WndClass.lpszClassName="Polygon";
    WndClass.lpszMenuName=NULL;
    WndClass.style=0;
    return RegisterClass(&WndClass);
    }
      

  3.   

    晕,BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)没这个函数啊
    是不是写错了,
    其实是BOOL InitWindowsClass(HINSTANCE hInstance,int nCmdShow);