绘制椭圆时链接错误 - MASM32

时间:2018-01-12 17:08:48

标签: graphics linker-errors masm32

这是一段代码:

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
    LOCAL hdc:HDC
    LOCAL ps:PAINTSTRUCT
    LOCAL rect:RECT
    .IF uMsg==WM_DESTROY
        invoke PostQuitMessage, NULL
    .ELSEIF uMsg==WM_PAINT
        invoke BeginPaint, hWnd, ADDR ps
        mov hdc, eax
        invoke GetClientRect, hWnd, ADDR rect
        invoke Ellipse, hdc, 100, 100, 300, 200
        invoke DrawText, hdc, ADDR name, -1, ADDR rect,\
            DT_SINGLELINE or DT_CENTER or DT_VCENTER
        invoke EndPaint, hWnd, ADDR ps
     .ELSE
        invoke DefWindowProc, hWnd, uMsg, wParam, lParam
        ret
    .ENDIF
    xor eax,eax
    ret

   WndProc endp

在那篇文章中,我在屏幕上放了一些名字和一个椭圆。但是当我尝试构建时,链接器说:

only.obj : error LNK2001: unresolved external symbol _Ellipse@20
only.exe : fatal error LNK1120: 1 unresolved externals
我做错了什么?我试图将invoke Ellipse放在其他地方,但它没有帮助

1 个答案:

答案 0 :(得分:0)

我明白了:我忘了包含gdi32.lib:

includelib \MASM32\LIB\gdi32.lib