I have a problem calling a C function from an asm project created in visual studio (Win10 x64, Visual Studio 2015). The project consists of a single asm file:
.586
.model flat, stdcall
option casemap:none
includelib msvcrt.lib
ExitProcess PROTO return:DWORD
extern printf:near
.data
text BYTE "Text", 0
.code
main PROC
push offset text
call printf
add esp,4
invoke ExitProcess,0
main ENDP
end main
When I create the project, the linker generates an error:
Error LNK2019 unresolved external symbol _printf referenced in function _main @ 0
Linker output parameters:
/OUT: "C:\Users\\Documents\SP_Lab7\Debug\SP_Lab7_Demo.exe" /: NO/NXCOMPAT /PDB: "C:\Users\apple\Documents\SP_Lab7\Debug\SP_Lab7_Demo.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /: X86/SAFESEH: /: /PGD: "C:\Users\apple\Documents\SP_Lab7\Debug\SP_Lab7_Demo.pgd" /SUBSYSTEM: WINDOWS/MANIFESTUAC: "level = 'asInvoker' uiAccess = 'false'" /ManifestFile: "Debug\SP_Lab7_Demo.exe.intermediate.manifest" /ERRORREPORT: PROMPT/NOLOGO/TLBID: 1
call print, ( Windows API). C asm cpp, <cstdio>?
?