【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号

当我们在vs2019中建立了一个空项目,却又准备开始从头到尾简单编写一个Window桌面程序的时候。
我们就会发现程序执行以后一直报以下错误:

【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号_第1张图片

那为什么会发生这个错误呢?
当然了,我也不是很清楚了。不过到处查找资料还是解决了。
可能就是因为,我们创建的空项目的执行属于命令行界面,而现在我们需要的执行确是窗口界面

那怎么改呢?

错误的修改方法:不要听信网上的那个,让改DLL。我们必须清楚DLL是不可以执行的。只有exe文件才能够执行。

【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号_第2张图片
【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号_第3张图片

正确的修改方法:修改命令行为桌面

【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号_第4张图片
【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号_第5张图片

如果这两处都改完,还是有问题,可以紧接着试一下以下步骤
点击最上方菜单栏--->点击清理解决方案--->点击重新生成解决方案即可。
如果可以看到下面编译成功了,此时我们就可以改为Release去执行了。

有问题可以留言交流٩(๑❛ᴗ❛๑)۶,也可以私信我

如果以上解决方案对您有用,希望您能一键三连,谢谢!

你可能感兴趣的:(【VS】LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHXZ) 中引用了该符号)