Hello I'm working on a messagebox program but running into linking errors. Here is the code: I am using MASM from WinASM. It does not make any difference if using the full path to the library.
includelib user32.lib
includelib kernel32.lib
include user32.inc
include kernel32.inc
.MODEL small, stdcall
.STACK 100H
.DATA
Text1 DB 'Hello World!', 0
Text2 DB 'Message Title', 0
.386
.CODE
main PROC
mov ax,@data ; Get the address of the data segment
mov ds,ax ; Set the DS segment
push 0
push offset Text1
push offset Text2
push 0
call MessageBox
main ENDP
END main
The linking erors that I am getting are the follows:
C:\masm32\bin\Link16 @"E:\DEVS\Projects\Assembly\DosExe\link.war"
Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.
Object Modules [.obj]: E:\DEVS\Projects\Assembly\DosExe\DosExeV2.objj
LINK : warning L4051: user32.lib : cannot find library
Enter new file spec: LINK : warning L4051: kernel32.lib : cannot find library
Enter new file spec:
E:\DEVS\Projects\Assembly\DosExe\DosExeV2.obj(E:\DEVS\Projects\Assembly\DosExe\DosExeV2.asm) : error L2029: '_MessageBoxA@16' : unresolved external
There was 1 error detected
Make finished. 2 error(s) occured.