纷飞20520 发表于 2015-2-8 21:12:16

Windows程序设计窗口!窗口!- Windows程序设计(SDK)003

003视频中程序运行完的错误求指点
错误        1        error LNK2019: 无法解析的外部符号 _DefwindowProc,该符号在函数 _WindProc@16 中被引用        E:\专业资料\C++程序建立\课程中\003(2)\w\w\w.obj        w
错误        2        error LNK2019: 无法解析的外部符号 _DefwindowProc,该符号在函数 _WindProc@16 中被引用        E:\专业资料\C++程序建立\课程中\003(2)\w\w\w.obj        w



纷飞20520 发表于 2015-2-8 22:25:16

自己顶一下。求助

纷飞20520 发表于 2015-2-8 22:31:21

/*----------------------------------------------------
       MyWindows.c--基本窗口模型
      《Windows 程序设计(SDK)》视频教程
-------------------------------------------------------*/
#include <windows.h>

LRESULT CALLBACK WindProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
        static TCHAR szAppName[] = TEXT("MyWindows");
        HWND hwnd;//句柄,特殊的指针;找到窗口的途径
        MSG msg;
        WNDCLASS wndclass;

        wndclass.style = CS_HREDRAW;
        wndclass.lpfnWndProc = WindProc;
        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.lpszClassName = szAppName;



    if (!RegisterClass(&wndclass))
   {
        MessageBox(NULL, TEXT("这个程序需要在windows NT 才能执行!"),szAppName, MB_ICONERROR);
        return 0;

    }

    hwnd = CreateWindow(szAppName, TEXT("鱼C工作室"),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 WindProc(HWND hwnd, UINTmessage, WPARAM wParam, LPARAM lParam)
{
        HDC hdc;
        PAINTSTRUCT ps;
        RECT rect;


        switch (message)
        {
        caseWM_PAINT:
                hdc = BeginPaint(hwnd, &ps);
                GetClientRect(hwnd, &rect);
                DrawText(hdc, TEXT("Hello world!"), -1, &rect,
                        DT_SINGLELINE | DT_CENTER | DT_VCENTER);
                EndPaint(hwnd, &ps);
                return 0;

        case WM_DESTROY:
           PostQuitMessage(0);
           return 0;
        }
        return DefwindowProc(hwnd, message, wParam, lParam);
}

纷飞20520 发表于 2015-2-9 11:29:43

:cry。。。。为什么没人回复呢、、、、

纷飞20520 发表于 2015-2-10 20:36:26

好吧,自己解决了!

air-C 发表于 2015-2-23 21:27:39

一般这种连接错误都是函数体没定义

freeparty 发表于 2015-3-3 23:25:50

工程可能建错了。

maikehong 发表于 2015-3-30 14:45:28

哈哈,我也出了一样的问题,你的编译器选项时候有打勾的地方,你多打勾了,哈哈。

沉默的鱼 发表于 2015-9-16 12:53:01

最后一句: return DefwindowProc(hwnd, message, wParam, lParam);
DefwindowProc->DefWindowProc
w是大写!!!
页: [1]
查看完整版本: Windows程序设计窗口!窗口!- Windows程序设计(SDK)003