thanks, unfortunately didn't work.
maybe it's the decoration name as you said.
%include 'D:\NASM\inc\nasmx.inc'
%include 'D:\NASM\inc\win32\windows.inc'
%include 'D:\NASM\inc\win32\kernel32.inc'
%include 'D:\NASM\inc\win32\user32.inc'
proto STDCALL, __imp__MessageBoxA@16, dword, dword, dword, dword
;proto STDCALL, __imp_ExitProcess@4, dword
entry start
extern __imp_ExitProcess@4
extern __imp__MessageBoxA@16
[section .text]
mytitle: db 'Hello', 0
mytext: db 'World!', 0
proc start
locals none
invoke [__imp__MessageBoxA@16], NULL, mytitle, mytext, MB_OK
;invoke [__imp_ExitProcess@4], NULL
endproc
D:\NASM\src\test\test.asm:34: error: (INVOKE:22) `%ifdef' expects macro identifiers
D:\NASM\src\test\test.asm:34: error: (INVOKE:24) symbol `__nxsig@@' not defined before use
D:\NASM\src\test\test.asm:34: error: (INVOKE:26) `%ifndef' expects macro identifiers
D:\NASM\src\test\test.asm:34: error: (INVOKE:27) `%ifndef' expects macro identifiers
D:\NASM\src\test\test.asm:34: error: identifier expected after EXTERN
D:\NASM\src\test\test.asm:34: error: (INVOKE:45) expression syntax error
D:\NASM\src\test\test.asm:34: error: (INVOKE:46) symbol `..@6450.__nx_argrotate' not defined before use
D:\NASM\src\test\test.asm:34: error: (INVOKE:51) expression syntax error
D:\NASM\src\test\test.asm:34: error: (INVOKE:52) expression syntax error
D:\NASM\src\test\test.asm:34: error: (INVOKE:54) symbol `..@6450.__cc_enum' not defined before use
D:\NASM\src\test\test.asm:34: error: (INVOKE:369) expression syntax error
Checking redefining without decoration
proto STDCALL, MessageBoxA, dword, dword, dword, dword
And output:
D:\NASM\src\test\test.asm:6: fatal: (PROTO:51) global symbol _MessageBoxA@16 already defined
Regards.