汇编程序连接过程错误
下边的程序,汇编通过,可"Build All"时,产生如下的错误:
c.obj : error LNK2001: unresolved external symbol _ExitProcess@0
c.obj : error LNK2001: unresolved external symbol _Crlf@0
c.obj : error LNK2001: unresolved external symbol _WriteString@0
请问如何解决这个问题?源代码如下:
INCLUDE E:\masm32\include\Irvine32.inc
.data
aName BYTE "abcdefghijklnm",0
nameSize=($-aName)-1
.code
main PROC
mov ecx,nameSize
mov esi,0
L1: movzx eax,aName[esi]
push eax
inc esi
loop L1
mov ecx,nameSize
mov esi,0
L2: pop eax
mov aName[esi],al
inc esi
loop L2
mov edx,offset aName
call WriteString
call Crlf
exit
main ENDP
END main
[解决办法]
虽然我不用masm但也可以猜到,这是因为你缺少了包含文件。如果是在nasm中,自己声明一下那三个符号,然后找一下定义了它们的lib库连接的时候加上就可以了。
[解决办法]
你这个问题的原因是因为缺少必要的lib库。找找它们在哪个库里加上就好。masm有includelib宏吧,所以我不太肯定那个库是不是写在了某个.inc中。
[解决办法]
检查路径