关于汇编如何使用vs2019成功生成64位程序的解决方案
最近在用vs2019配置汇编语言开发环境,我发现在生成64位程序的时候会出现一个错误。然后我在网上查了一下,几乎找不到相应的解决方法,最后是看了一位大佬写的博客给了我一个重要的提示才得以解决,真的非常感谢大佬的分享。下面,我就给大家分享一下解决这个问题的具体内容。
问题描述
关于怎么在vs2019下为项目配置masm我就不在这里赘述了。我在64位配置下生成解决方案的时候系统提示有如下错误
LINK : error LNK2001: 无法解析的外部符号 mainCRTStartup
fatal error LNK1120: 1 个无法解析的外部命令
在经过几番思考以及尝试之后,我找到了两种解决方案。
1.将入口点设置为源文件的主过程名
打开项目的属性页,选择链接器并选择高级,将入口点设置为你的程序入口过程名,如下图所示
然后确定,就能成功生成解决方案了!
2.将源程序主过程名更改为mainCRTStartup
如图所示
注意,这种方式要保持入口点是默认的。
总结
上述问题中,LINK指的是链接器,vs2019默认mainCRTStartup为64位程序入口标识符。建议在生成64位程序解决方案时选择第二种方式,因为以mainCRTStartup为入口点是vs2019对64位程序的底层默认配置,这样也可以避免出现一些意外的错误。