首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LNK2019 无法解析的外部符号 main,函数 “int __cdecl invoke_main(void)“ (?invoke_main@@YAHXZ) 中引用了该符号

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

作者头像
云未归来
发布2025-07-16 15:20:54
发布2025-07-16 15:20:54
1710
举报

使用VS2022开发windows程序时,上报如下错误:

LNK2019 无法解析的外部符号 main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号

在网上寻找答案,说是项目属性要设置为如下图内容,而不能设置为控制台类型,这是因为控制台类型程序的入口函数为main,而窗口程序的入口函数为WinMain 或者wWinMain,IDE中事先声明了main,WinMain,和wWinMain函数的原型的,被封装在IDE内部,只是没有定义,具体定义实现,是需要用户自己定义。当选择下图中“控制台 (/SUBSYSTEM:CONSOLE)”时,VS内部就会设置宏,将main作为系统入口函数,当选择"窗口 (/SUBSYSTEM:WINDOWS)"时,VS内部就会设置宏,将WinMain或者wWinMain作为系统入口函数。

在我的程序开发当中确实编写的入口函数为WinMain,但是链接器设置当前的项目类型为“控制台”时,在链接时,VS2022会去寻找main的定义,这时在我的代码中只有WinMain的定义,却没有main的定义,所以会上报如上链接错误

但是做了如上更改后,仍然上报相同的错误,然后将VS2022,按照下图设置为x86之后,再次编译错误消失

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档