这是一段代码:
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
放在其他地方,但它没有帮助
答案 0 :(得分:0)
我明白了:我忘了包含gdi32.lib:
includelib \MASM32\LIB\gdi32.lib