LNK2019 无法解析的外部符号 _main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号
问题描述
使用Visual Studio 2019创建空项目,从头开始编写一个Windows桌面应用程序,运行时报错如下:
问题原因
- 代码实现的是
Windows桌面应用程序,但Visual Studio 2019创建的默认的空项目是控制台应用程序,导致C++运行时找不到对应得到入口函数。C++运行时入口函数类型
解决方案
- 修改项目的执行目标为桌面应用程序
- 修改预处理器中的定义为
_WINDOWS(默认为_CONSOLE);
- 修改预处理器中的定义为
- 修改连接器的系统里的子系统类型为
窗户(/SUBSYSTEM:WINDOWS)(默认为控制台(/SUBSYSTEM:CONSOLE));