vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup

在vs 下编写64位汇编,新建工程,右键工程名,选择"Build Dependencies" -> "Build Customizations":

vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup_第1张图片

勾选 masm:

vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup_第2张图片

添加main.asm,敲了一段最简单的代码:

.code
main proc
	ret
main endp

end

直接F5运行(已添加工程右键),恼人的错误:

LNK2001: unresolved external symbol mainCRTStartup

vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup_第3张图片

无法解析的外部符号 mainCRTStartup,这是默认的入口函数,它会调用我们写的main函数,但那是C/C++中的main函数,比如void main() { return 0; },编译器找不到此类main函数就会报出上述错误,所以我们需要将入口函数指定为我们自己的main函数(此mian非彼main,你可以改成其他符合标识符规范的任意名字)。

右键工程名,选择最后一项工程属性

Linker -> Advanced ->  Entry Point : main                     名称需要与代码中保持一致。

vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup_第4张图片

如无意外,此时可以正常运行了,当然这段代码什么都没做,你也就看不到任何结果。

你可能感兴趣的:(汇编)